centos下docker1.7 上传文件到容器报错 Error: Path not specified

本文介绍了解决Docker早期版本中文件传递bug的两种方法。一种是通过直接将文件复制到容器的挂载目录,另一种是升级Docker版本到1.9.1。文章详细解释了操作步骤,并附有具体命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想试着在网上找了好多方法传递文件到docker容器,发现在1.7的版本下有个bug

docker cp e0ce13a27784:/home/website/default  /appuweichao/credit_passport/web/

Error: Path not specified

错误消息“错误:路径未指定”

在docker1.8.0中已修复。

 

解决方法1

从主机拷贝到容器的挂载目录

首先要获取容器的真实id   docker inspect -f '{{.Id}}' centos6

复制需要拷贝的文件到 到 此路径 

cp openvas-install.sh /var/lib/docker/devicemapper/mnt/eea01fc3c689833f5dd972327485783a9de0764dcb0b5b9f520e5572e777da66/rootfs/mnt

其中很长的数字字母串就是上边得到真实id

进入终端后 /mnt下面就能看到 文件存在了 如下图

这个ID文件夹其实就是该容器挂载在本地的一个共享文件夹

下图列出了所有的容器的文件夹


 

 

解决方法2

下载docker1.9.1替换

wget https://get.docker.com/builds/Linux/x86_64/docker-1.9.1
chmod +x docker-1.9.1
sudo mv docker-1.9.1 /usr/bin/docker
service docker restart

这样就OK了,看下版本,一切正常

此时再复制文件就没有问题了

 

在使用 Docker 安装 MySQL 8.0.42 时,如果遇到错误提示 `Fatal glibc error: CPU does not support x86-64-v2`,则表明当前宿主机的 CPU 不支持 `x86-64-v2` 指令集,而 MySQL 8.0.42 的官方镜像可能默认要求该指令集[^1]。 ### 解决方案 #### 方法一:使用兼容版本的 MySQL 镜像 MySQL 8.0 的某些版本提供了针对旧 CPU 架构优化的镜像,可以避免对 `x86-64-v2` 的依赖。可以通过指定特定标签来拉取兼容性更好的镜像: ```bash docker pull mysql:8.0.36 ``` 启动容器时使用相同版本标签: ```bash docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=yourpassword -d mysql:8.0.36 ``` 此方法通过选择不依赖新指令集的 MySQL 版本来规避问题。 #### 方法二:构建自定义镜像 如果需要使用 MySQL 8.0.42,可以选择基于更兼容的基础镜像(如 `alpine` 或者较老版本的 `centos`)自行构建镜像。例如,在 Dockerfile 中明确指定基础镜像为 CentOS 7: ```Dockerfile FROM centos:7 RUN yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm && \ yum install -y mysql-community-server EXPOSE 3306 CMD ["mysqld", "--bind-address=0.0.0.0"] ``` 然后构建并运行镜像: ```bash docker build -t mysql-custom:8.0.42 . docker run --name mysql-custom-container -e MYSQL_ROOT_PASSWORD=yourpassword -d mysql-custom:8.0.42 ``` 该方式通过使用较老的操作系统版本和适当的软件包来确保兼容性。 #### 方法三:升级硬件或虚拟化环境 若条件允许,升级宿主机的 CPU 或使用支持 `x86-64-v2` 的虚拟机也是一种根本解决方案。例如,在云环境中选择更高版本的实例类型通常能解决此类问题。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值