当使用docker cp 将容器内数据拷贝至主机时,或是使用docker export 命令归档容器文件时,出现下述异常:

Error response from daemon: error processing tar file: docker-tar: relocation error: /lib/x86_64-linux-gnu/libnss_files.so.2: symbol __libc_readline_unlocked, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference : exit status 127

则对应的解决方案为:

Initialize nss libraries in Glibc so that the dynamic libraries are loaded in the host environment not in the chroot from untrusted files. CVE-2019-14271 may allow unprivileged access to host system while copying files from a malicious container image with docker cp command. Affected versions: v19.03.0. Older Docker versions are not affected by this issue. This fix is included in the already released Docker v19.03.1. Users of Docker v19.03.0 are advised to upgrade. (可参考链接:https://www.cnblogs.com/cnlihao/p/11255000.html

根据上述的描述可知:当前docker 19.03.0的版本是存在这样一个bug的,不过已经在对应的 Docker v19.03.1上已经被修复过了,不过很不巧的是,当前楼主的版本就是:19.03.0,如下图所示:

所以此处,要想解决当前的问题,则必须是,升级当前版本了;

版本升级的步骤如下:

1、在对应的Docker官网,下载对应的RPM包:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ ,此处楼主选择的则是:19.03.1的RPM安装包

linux命令如下:wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-19.03.1-3.el7.x86_64.rpm

将对应的RPM包下载以后,则在对应的服务器上执行现有的Docker版本升级,使用命令为: yum -y update /opt/docker-ce-19.03.1-3.el7.x86_64.rpm,(需注意:升级现有的Docker版本将会导致所以已启的容器全部停止),此处更新对应的Docker版本以后,重复使用export命令,此时则不再出现上述异常

2、除了使用 yum -y update的方式进行更新外,也可以选择重新卸载当前Docker包后,重新安装新的Docker版本,如下所示:

  a)删除掉当前的旧版本Docker:

sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

  b)删除已有的镜像和容器数据(如果不进行删除,则新安装的Docker后,还是可以通过docker images 找到对应的镜像及容器信息)(此步骤:未测试)

find /etc/systemd -name '*docker*' -exec rm -f {} \;
find /etc/systemd -name '*docker*' -exec rm -f {} \;
find /lib/systemd -name '*docker*' -exec rm -f {} \;
rm -rf /var/lib/docker #删除以前已有的镜像和容器,非必要
rm -rf /var/run/docker

  c) 此处通过指定的软件包进行yum安装,sudo yum install /opt/docker-ce-19.03.1-3.el7.x86_64.rpm

  d) 启动Docker;systemctl start docker

3、使用yum直接安装对应的Docker存储库,(无需再手动下载RPM包,但需保证已链接互联网,适合直接进行在线安装的操作(RPM则适合进行离线的Docker安装))

  a) 参考 菜鸟教程中对Docker存储库的安装方式的介绍,如下链接:https://www.runoob.com/docker/centos-docker-install.html

  b) 参考 博客:https://www.cnblogs.com/wdliu/p/10194332.html

  c) 无论是上述的 菜鸟教程中所描述的安装方式,还是第二个博客中所描述的安装方式,其本质都是来自于,Docker官方教程中对存储库的在线安装的说明,如需参考Docker官方的安装教程,则可以参考该链接:https://docs.docker.com/install/linux/docker-ce/centos/ (其中分别说明了:1、在线使用Docker存储库的方式进行安装,2、适合于离线安装的rpm包的安装方式,以及3、直接在线使用便捷脚本的方式进行安装)

最新文章

  1. dev LayoutControl布局控件
  2. 用 windows GDI 实现软光栅化渲染器--gdi3d(开源)
  3. Asp.net Ibatis 增、删、改、查
  4. Quartz 2.2.x CronTrigger Tutorial
  5. Python学习教程(learning Python)--1.4 Python数据处理基础
  6. C# 添加一个用户对文件或者文件夹的所有权限
  7. range-bar
  8. Homework3
  9. 安装Ubuntu双系统系列——更换源
  10. c#重要特性之一委托
  11. ImageButton如何让图片按比例缩放不被拉伸
  12. Ubuntu/Linux下7款轻量级编辑器 (转)
  13. [LeetCode]Copy List with Random Pointer &Clone Graph 复杂链表的复制&图的复制
  14. bzoj2876 [Noi2012]骑行川藏
  15. NetBeans+Xdebug调试php代码
  16. python - hash类型操作
  17. oracle修改审计功能
  18. Winio驱动在64位windows下无法使用的解决方法
  19. 导入sql文件报错:1071 Specified key was too long; max key length is 767 bytes
  20. 解决 win7 注册com组件失败问题

热门文章

  1. 月下无限连?拒绝无休止switch!
  2. LeetCode 链表题 ( Java )
  3. 用.NET解索尼相机ARW格式照片
  4. ZZ:SDNLAB技术分享(一):ODL的SFC入门和Demo
  5. JavaEE基础(02):Servlet核心API用法详解
  6. springcloud+kafka集群
  7. Dapr 运用
  8. POJ-1743 Musical Theme(最长不可重叠子串,后缀数组+二分)
  9. 2018HDU多校训练-3-Problem D. Euler Function
  10. 常见的linux快捷方式和英文错误提示