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。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- Docker如何安全地進入到容器內部
- Docker容器從鏡像恢復代碼的操作步驟
- Docker報錯:OCI runtime exec failed: exec failed: container_linux.go:380: starting container process的解決方法
- Docker常用命令Study03詳解
- Docker 實現容器端口綁定本地端口