在本文中,我们将向您展示如何使用docker cp将文件或文件夹从Docker容器复制到主机(本地文件系统)或反向复制。

例如,这是一个正在运行的容器,ID为d362659da5fc ,稍后我们将在该容器中复制文件或将文件复制到该容器中。

Terminal
$ docker ps
CONTAINER ID        IMAGE               COMMAND               CREATED             STATUS              PORTS                   NAMES
d362659da5fc        markdownhtml:1.1    "java -jar app.jar"   20 minutes ago      Up 20 minutes       0.0.0.0:80->8080/tcp,   xenodochial_volhard

PS docker cp命令的工作方式与SSH scp命令相似。

1.容器->本地主机

将文件或文件夹从Docker容器复制到本地文件系统。

Terminal
$ docker cp <containerId>:/file/path/in/container/file /host/local/path/file

# Copy /opt/app/app.log from the container d362659da5fc to the current local working directory
$ docker cp d362659da5fc:/opt/app/app.log .

# Copy /opt/app/app.log from the container d362659da5fc to local host, /home/mkyong/backup/app.log
$ docker cp d362659da5fc:/opt/app/app.log /home/mkyong/backup/

# Copy /opt/app/app.log from the container to local host, renamed to /home/mkyong/backup/app.bk.20200511.log
$ docker cp d362659da5fc:/opt/app/app.log /home/mkyong/backup/app.bk.20200511.log

# Copy files from folder /opt/app/ (container) to local host /home/mkyong/backup2/
$ docker cp d362659da5fc:/opt/app/ /home/mkyong/backup2/

如果容器中不存在复制文件,则显示错误。

Terminal
$ docker cp d362659da5fc:/opt/app/abc.txt /home/mkyong/backup

Error: No such container:path: d362659da5fc:/opt/app/abc.txt

2.本地主机->容器

将文件或文件夹从本地文件系统复制到Docker容器,其工作原理相同。

Terminal
$ docker cp /host/local/path/file <containerId>:/file/path/in/container/file

# Copy db.config from the current working directoty to a container da3430062137 /opt/app/db.config
$ docker cp db.config d362659da5fc:/opt/app/

# Copy /var/www/app/db.config from the local host to a container /opt/app/db.prod.config
$ docker cp /var/www/app/db.config d362659da5fc:/opt/app/db.prod.config

# Copy files from folder /var/www/app/ (local host) to container /opt/app/
$ docker cp /var/www/app/ d362659da5fc:/opt/app/

进一步阅读

翻译自: https://mkyong.com/docker/how-to-copy-files-from-docker-container-to-host/

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐