进入正在运行的容器

? 1 2 3 4 5 6 7 # 进入容器 新开一个终端 # docker exec -it 容器id /bin/bash docker exec -it eaac94ef6926 /bin/bash   # 进入容器原来的终端 # docker attach 容器id docker attach eaac94ef6926

容器的文件拷贝

? 1 2 3 4 5 6 # 从容器内拷贝文件到linux主机上 # docker cp 容器id:容器内路径 目标主机路径 docker cp eaac94ef6926:/home/test.txt /root/test.txt   # 从宿主机拷贝文件到容器内 # docker cp 文件路径 容器id:容器内路径 docker cp test.txt eaac94ef6926:/home/test.txt

官方文档:https://docs.docker.com/engine/reference/commandline/exec/

补充:docker cp: 从容器中复制文件到本地

例:从容器中复制一个test.db文件到本地data目录。

? 1 2 3 4 5 6 7 8 # 假设存在一个镜像名为 kitty,标签为0.1,创建一个名为 koko的容器   # 1. create a container first docker run -itd --name koko kitty:0.1 /bin/bash # 2. copy test.db from koko tmp directory to local data directory. docker cp koko:/tmp/test.db ./data/test.db # 3. rm container koko docker rm -f koko

docker cp也可以从本地copy文件到容器中:

? 1 2 # 以上面的代码为例,把容器路径和本地路径颠倒即可. docker cp ./data/test.db koko:/tmp/test.db

补充:Mac 上docker挂载到本地文件,互通使用

docker 挂载到本地文件

? 1 docker run -itv /Users/XXXX/Sites/docker:/www images:12121 /bin/bash

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/weixin_44953227/article/details/108755036