3、docker 中怎么拷贝东西到镜像,和拷贝出来

docker 中怎么拷贝东西到镜像,和拷贝出来

容器可以认为是虚拟机,宿主机认为是本地主机。

1、从容器里面拷文件到宿主机

  • 在宿主机里面执行以下命令
docker cp 容器名:要拷贝的文件在容器里面的路径       要拷贝到宿主机的相应路径   
root@sz-H81U:/home/sz# docker cp -a fe5282e395eb:/demo_ws/ /home/sz/code/
root@sz-H81U:/home/sz# cd code/
root@sz-H81U:/home/sz/code# ls
a.txt  demo_ws

参数解释:

  1. 容器ID为 : fe5282e395eb ,查找方法见后: docker ps -a
  2. 要从容器里面拷贝的文件路径为:/demo_ws, 现在要将demo_ws 所有文件所以用 -a 这个选项参数;
  3. 从容器里面拷到宿主机的 /home/sz/code/ 路径下面。

注意:在宿主机上面执行命令

2、从宿主机拷文件到容器里面

  • 在宿主机里面执行如下命令
docker  cp  要拷贝的文件路径    容器名:要拷贝到容器里面对应的路径
root@sz-H81U:/home/sz/code# docker cp a.txt 47683ef9b01e:/demo_ws/a.txt

参数解释:

  1. 容器 ID 为: 47683ef9b01e ,与容器前缀一致:root@47683ef9b01e:#
  2. 现在要将宿主机: /home/sz/code/a.txt 的文件 拷贝到容器里面的 /demo_ws/ 路径下面
  3. 因为是文件,不需要选项参数。

注意:在宿主机上面执行如下命令

  • 这是在容器中执行 docker cp 前后的对比:
root@47683ef9b01e:/demo_ws# ls
build  devel  src
root@47683ef9b01e:/demo_ws# ls
a.txt  build  devel  src

显然多了一个 a.txt 的文件。

3、问题所在,我的坑?

执行命令:docker ps -a,出现如下内容,其中NAMES就是容器名了。

root@sz-H81U:/home/sz# docker ps -a
CONTAINER ID        IMAGE                COMMAND             CREATED              STATUS                      PORTS               NAMES
47683ef9b01e        ros-hilens1:latest   "/bin/bash"         About a minute ago   Up About a minute                               elastic_jang
80cc32360c4a        ros-hilens1:latest   "/bin/bash"         38 minutes ago       Exited (0) 36 minutes ago                       sweet_liskov
ffef6a344d30        ros-hilens1:latest   "/bin/bash"         41 minutes ago       Exited (0) 40 minutes ago                       nifty_buck
c0114380ef58        ros-hilens1          "/bin/bash"         42 minutes ago       Exited (0) 36 minutes ago                       eloquent_chaum
c1d586b3060d        ros-hilens1:latest   "/bin/bash"         43 minutes ago       Exited (0) 43 minutes ago                       unruffled_brown
1781f7decff5        ros-hilens1          "/bin/bash"         2 hours ago          Exited (0) 43 minutes ago                       amazing_hoover
eabc9ff1d0cd        ros-hilens1          "/bin/bash"         2 hours ago          Exited (0) 2 hours ago                          thirsty_jones
fe5282e395eb        ros-hilens1:latest   "/bin/bash"         2 hours ago          Exited (0) 2 hours ago                          reverent_joliot
c1e9942322bb        ros-hilens1          "/bin/bash"         2 hours ago          Exited (0) 2 hours ago                          happy_allen
b3a1f08b0002        ros-hilens1:latest   "/bin/bash"         2 hours ago          Exited (0) 2 hours ago                          mystifying_varahamihira
b3e83e0ffed9        hello-world          "/hello"            22 hours ago         Exited (0) 22 hours ago                         xenodochial_pascal

通过 CONTAINER ID 确认容器。

个人问题:(划重点)

在于我拷贝文件或者文件夹时候,开始的时候镜像容器 ID 没有对应上,不知道会拷贝到哪里,直接用 ID 会更明显。

4.需要注意的是,不管容器有没有启动,拷贝命令都会生效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值