如何将文件从Docker容器复制到主机?

在本文中,我们将向您展示如何使用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/

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值