Docker命令之四:docker cp

Docker命令之四:docker cp,第1张

cp Copy files/folders between a container and the local filesystem

容器和本地文件系统之间复制文件/文件夹

docker cp命令类似于UNIX中的cp -a命令,递归复制目录下的所有子目录和文件

-表示通过标准输入/输出设备以流的方式读取或写入tar文件

本地文件系统中的路径可以是绝对路径,也可以是相对路径,相对于当前命令执行的路径

容器中的路径都是相对容器的/根路径

被 *** 作的容器可以是在运行状态,也可以是停止状态

不能复制/proc, /sys, /dev, tmpfs和容器中mount的路径下的文件

从外部复制到容器内

docker cp 文件 容器名:容器内的目标路径

从容器内部复制到容器外:

docker cp 容器名:文件 容器外路径

1. 拉取镜像,部署应用

    docker pull + 镜像地址

    docker run --name 应用名称 -d -p 对外端口:容器内端口  镜像名称:版本号

    (如果容器内的配置文件本身存在问题就会导致该容器无法运行,docker ps查看正在运行的容器,docker ps -a 查看所有容器,docker logs 容器id 可以查看容器日志)

2. 将容器内的配置文件拷贝到本机上修改(如果在容器内修改,重启后就会失效)

    docker cp 容器id:容器中文件的路径 本机目的路径

3.  将本机修改后的文件传入容器内替换

    docker cp 本机文件路径 容器id:容器内文件路径

4. 重启容器

    docker restart 容器id

1. 进入容器

docker exec 容器ID

其他常见命令见:https://www.jianshu.com/writer#/notebooks/49874836/notes/86218928

1. 如果访问仍然存在问题,首先检查容器内端口是否正确

2. 将上述第三步换成以下步骤,将本机的文件挂载到容器内,而非替换文件(如Nginx的地址修改,重启后会回到原来镜像拉取的地址)

    1. 移除原来的容器 

        rm -f 容器id

    2. 重新运行容器并将写好的配置文件挂载到容器内

        docker run --name 容器名称 -d -p 对外端口:容器内端口 -v 本机配置文件路径:容器内配置文件路径:ro 镜像地址:版本号


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12077821.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存