当前位置:首页 > 未分类 > 正文内容

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

jxcq4年前 (2022-05-27)未分类136

详细说明及使用可参考官方docker cp文档

说明

在容器和本地文件系统之间复制文件/文件夹

用法

$ docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
$ docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

例如,docker正在运行了一个jenkins,CONTAINER ID为3a3d34f3a3c0,接下来以此容器做展示:

CONTAINER IDIMAGE
其他略NAMES
3a3d34f3a3c0docker.io/jenkins/jenkins:lts其他略jenkins

注:以下命令中使用 CONTAINER ID 的地方也可用 NAMES 代替

容器到主机

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

重要:此种有两种情况需要区分,第一种你在主机,第二种你已经进入了docker jenkins容器中

  • 第一种:在主机

将jenkins容器中 /var/jenkins_home/project1 目录拷贝到主机的 /srv/jenkins
$ docker cp 3a3d34f3a3c0:/var/jenkins_home/project1 /srv/jenkins

# 将jenkins容器中 /var/jenkins_home/project1 目录中 README.md 文件拷贝到主机的 /srv/jenkins
$ docker cp 3a3d34f3a3c0:/var/jenkins_home/project1/README.md /srv/jenkins

# 将jenkins容器中 /var/jenkins_home/project1/build 目录中所有文件拷贝到主机的 /srv/jenkins/www
$ docker cp 3a3d34f3a3c0:/var/jenkins_home/project1/build/. /srv/jenkins/www

# 将jenkins容器中 /var/jenkins_home/project1/build 目录中 README.md 文件拷贝到当前本地工作目录
$ docker cp 3a3d34f3a3c0:/var/jenkins_home/project1/build/README.md .

如果容器中不存在复制的目录或文件,则报错

  • 第二种:已经进入了docker jenkins容器中(docker exec -it “3a3d34f3a3c0” bash)

将jenkins容器中/var/jenkins_home/workspace/project2/build中所有文件拷贝到主机的/srv/www中

前置环境变量:

$ export JENKINS_HOME=/srv/jenkins
$ export NGINX_WWW=/srv/www

需要借助docker run –volume,docker jenkins启动命令需要改成:

$ docker run --name jenkins -u root -d -p 7199:8080 -p 50000:50000 -v $JENKINS_HOME:/var/jenkins_home -v $NGINX_WWW:/srv/www docker.io/jenkins/jenkins:lts

重要:额外增加了一个参数


$NGINX_WWW:/srv/www``` 挂载目录
最后,直接执行即可
```js
$ cp -rf /var/jenkins_home/workspace/project2/build/. /srv/www/


解决docker exec -it提示 no such container的问题 原创

运维灬小兵2022-06-28 18:26:58博主文章分类:Docker



Docker exec 出现 “fork/exec /proc/self/exe: no such file or directory” 问题


可以通过nsenter进入


# docker inspect -f {{.State.Pid}} 容器ID

6670

# nsenter -t 6670 -m -u -i -n -p


主机到容器

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

# 将主机的 /srv/jenkins 拷贝到jenkins容器中 /var/jenkins_home/project1 目录
$ docker cp /srv/jenkins  3a3d34f3a3c0:/var/jenkins_home/project1

# 将主机的 /srv/jenkins 目录中 README.md 拷贝到jenkins容器中 /var/jenkins_home/project1文件
$ docker cp /srv/jenkins/README.md 3a3d34f3a3c0:/var/jenkins_home/project1

# 将主机的 /srv/jenkins/www 中所有文件拷贝到jenkins容器中 /var/jenkins_home/project1/build 目录
$ docker cp /srv/jenkins/www/. 3a3d34f3a3c0:/var/jenkins_home/project1/build

# 将当前本地工作目录拷贝到jenkins容器中 /var/jenkins_home/project1/build 目录中
$ docker cp . 3a3d34f3a3c0:/var/jenkins_home/project1/build


扫描二维码推送至手机访问。

版权声明:本文由小强的小站发布,如需转载请注明出处。

本文链接:https://zblog.dragon2024.cloudns.ch/?id=9

分享给朋友:

“将文件从Docker容器复制到主机” 的相关文章

群晖DOCKER安装MQTT

群晖DOCKER安装MQTT

1、打开DOCKER注册表搜索mqtt2、选择官方镜像。3、双击eclipse-mosquitto下载。选择latest(本来用的版本是1.6.9)4、点击下载好的镜像文件创建容器5、点击高级—网络—-勾选与docker host相同的网络,勾选下启用自动重新启动。6、点击确定7、双击eclipse...

OpenWrt中使用wireguard教程|一个端口访问局域网内所有设备(如群晖NAS,路由器)

OpenWrt安装WireGuard命令(eSir精品小包已集成WireGuard,无需安装) opkg update opkg install luci-proto-wireguard luci-app-wireguard wireguard kmod-wireguard wireguard-...

什么是强电解质,什么是弱电解质?

下列说法正确的是(  )A、难溶于水的电解质一定是弱电解质B、强电解质的水溶液导电能力一定比弱电解质水溶液的导电能力强C、某物质若不是电解质,就一定是非电解质D、溶于水的强电解质,在水溶液中全部电离成离子         高中阶段学的几乎所有盐都是强...

复分解反应

可见,中和反应一定是复分解反应,但复分解反应不一定是中和反应。复分解反应...

TC1-A2-mqtt-配置

https://github.com/yakinchang/phicomm_tc1_a2 固件配置获取插排分配到的 IP(根据自己的网络环境自行解决),IP 以 10.10.9.134 为例访问插排的 http 接口,获取插排状态,用户名密码都是 admin支持的接口列表:修改和查询wifi:htt...

Fast Os Docker 使用指南

启动命令docker run --name fastos --restart always -p 8081:8081 -p 8082:8082 -d \ -v /var/run/...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。