docker cp 拷貝文件 和 進入容器的操作

進入正在運行的容器

# 進入容器 新開一個終端
# docker exec -it 容器id /bin/bash
docker exec -it eaac94ef6926 /bin/bash

# 進入容器原來的終端
# docker attach 容器id
docker attach eaac94ef6926

容器的文件拷貝

# 從容器內拷貝文件到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目錄。

# 假設存在一個鏡像名為 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文件到容器中:

# 以上面的代碼為例,把容器路徑和本地路徑顛倒即可.
docker cp ./data/test.db koko:/tmp/test.db

補充:Mac 上docker掛載到本地文件,互通使用

docker 掛載到本地文件

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

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。