1、查看容器

[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cd6957191c52 nginx "nginx -g 'daemon ..." hours ago Up hours 192.168.51.227:->/tcp webserver

2、使用容器名字webserver进行文件复制

3、从宿主机复制到容器,命令:docker cp ceshi.txt webserver:/home/

4、进入容器,查看文件:docker exec -it webserver bash

[root@localhost docker]# docker exec -it webserver bash
root@cd6957191c52:/# cat /home/ceshi.txt
hello,bob!
nice to meet you!
hello jack!
nice to meet you too!

5、修改容器中的文件,并复制到宿主机,命令:docker cp webserver:/home/ceshi.txt ./

root@cd6957191c52:/# cd /home/
root@cd6957191c52:/home# echo "this is my bike" >> ceshi.txt
root@cd6957191c52:/home# cat ceshi.txt
hello,bob!
nice to meet you!
hello jack!
nice to meet you too!
this is my bike
root@cd6957191c52:/home# exit
exit
[root@localhost docker]# docker cp webserver:/home/ceshi.txt ./
[root@localhost docker]# cat ceshi.txt
hello,bob!
nice to meet you!
hello jack!
nice to meet you too!
this is my bike

或者,把容器的名字改为容器的ID,获取容器ID的方法:

方法1、

[root@localhost docker]# docker inspect -f   '{{.Id}}'  webserver
cd6957191c52b25d29319b8ad450313931f2a8c730e4f1052704be957f8c573d

方法2、

[root@localhost docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cd6957191c52 nginx "nginx -g 'daemon ..." hours ago Up hours 192.168.51.227:->/tcp webserver
[root@localhost docker]# docker inspect -f '{{.Id}}' cd6957191c52
cd6957191c52b25d29319b8ad450313931f2a8c730e4f1052704be957f8c573d

用容器ID复制,如下:

[root@localhost docker]# docker inspect -f   '{{.Id}}'  webserver
cd6957191c52b25d29319b8ad450313931f2a8c730e4f1052704be957f8c573d
[root@localhost docker]# echo "abc">>ceshi.txt
[root@localhost docker]# cat ceshi.txt
hello,bob!
nice to meet you!
hello jack!
nice to meet you too!
this is my bike
abc
[root@localhost docker]# docker cp ceshi.txt cd6957191c52b25d29319b8ad450313931f2a8c730e4f1052704be957f8c573d:/home/
[root@localhost docker]# docker exec -it webserver bash
root@cd6957191c52:/# cd /home/
root@cd6957191c52:/home# cat ceshi.txt
hello,bob!
nice to meet you!
hello jack!
nice to meet you too!
this is my bike
abc

不用容器全ID也可以

[root@localhost docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cd6957191c52 nginx "nginx -g 'daemon ..." hours ago Up hours 192.168.51.227:->/tcp webserver
[root@localhost docker]# docker cp cd6957191c52:/home/ceshi.txt ./abc.txt
[root@localhost docker]# cat abc.txt
hello,bob!
nice to meet you!
hello jack!
nice to meet you too!
this is my bike
abc

docker容器与宿主交互数据的更多相关文章

  1. Docker容器学习梳理 - Volume数据卷使用

    之前部署了Docker容器学习梳理--基础环境安装,接下来看看Docker Volume的使用. Docker volume使用 Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker ...

  2. 如何让Docker容器随宿主机的启动而自动启动

    使用Docker容器部署服务时,不仅需要让服务随Docker容器的启动而启动,还需要让Docker容器随宿主机的启动而自动启动,为此Docker提供了Docker run的restart参数 #doc ...

  3. docker容器和宿主机之间复制文件

    https://blog.csdn.net/u012416928/article/details/55049063 https://blog.csdn.net/u011596455/article/d ...

  4. docker容器与宿主机的数据交互

    在生产环境中使用 Docker ,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作. 方式一.Docker cp命令 docker cp :用于容器与主机之间 ...

  5. Docker 容器与宿主机网段冲突导致网络无法 ping 通的解决方案

    docker 容器网络默认使用 bridge 桥接模式,正常情况下,容器会使用 daemon.json 中定义的虚拟网桥来与宿主机进行通讯. 最近更新 Docker for mac 之后,发现以前容器 ...

  6. Docker容器挂载宿主目录的情形分析

    Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定. 譬如我要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定: # docker ...

  7. docker容器共享宿主机环境,从而为镜像体积减负

    一.背景介绍 响应公司技术发展路线,开发的服务均需要将打成docker镜像,使用docker进行统一管理.可是随着服务越来越多,镜像也越来越多.每次制作镜像的时候都需要将依赖打进容器,这样一个jre的 ...

  8. Docker容器获取宿主机信息

    最近在做产品授权的东西,开始宿主机为Window,程序获取机器硬件信息相对简单些,后来部署时发现各种各样的的环境问题,所有后来改用dokcer部署,docker方式获取宿主机信息时花了些时间,特此记录 ...

  9. Docker容器和宿主机互传文件

    1.docker容器向宿主机传送文件 格式: docker cp container_id:<docker容器内的路径> <本地保存文件的路径> 例: docker cp 10 ...

随机推荐

  1. Cas 服务器 JDBC身份校验

    之前的Cas服务器一直使用静态配置的账号密码进行身份认证,现在要让Cas服务器通过MySQL数据库中的用户信息进行身份认证. 一.添加数据库访问依赖 <!-- https://mvnreposi ...

  2. FileInputStream、FileReader、FileWriter和File

    FileInputStream提供了对文件的字节读取 用于读取诸如图像数据之类的原始字节流       如:FileInputStream fis=new FileInputStream(new Fi ...

  3. c#qq发邮件

    // SMTP(Simple Mail Transport Protocol)简单邮件传输协议.在.NET Frameword类库中提供SmtpClient类(System.Net.Mail),她提供 ...

  4. [Hive_7] Hive 中的 DDL 操作

    0. 说明 DDL(Data Definition Languages)语句:数据定义语言 这些语句定义了不同的数据段.数据库.表.列.索引等数据库对象的定义. 常用的语句关键字主要包括 create ...

  5. C语言 排序算法总结

    #include<stdio.h> #include<stdlib.h> //作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ # ...

  6. 关于陌生的依赖模块,如withStyles、react-apollo等

    有自己不认识的依赖,可参考的学习方式: 1.各大技术分享网站的文章(最快) 2.npm官网下的文档(最全)

  7. zuul超时问题

    转载:http://blog.csdn.net/tianyaleixiaowu/article/details/78772269 是这样的,今天碰到了微服务响应超时问题,而且超时时间特别短,2秒就超时 ...

  8. Thread.interrupt()

        作者:Intopass链接:https://www.zhihu.com/question/41048032/answer/89431513来源:知乎著作权归作者所有.商业转载请联系作者获得授权 ...

  9. 文件是数据的流式IO抽象,mmap是对文件的块式IO抽象

    文件是数据的流式IO抽象,mmap是对文件的块式IO抽象

  10. 启动线程用start方法

    启动线程用start方法而不是用run方法 public static void main(String[] args) { Thread t=new Thread("Thread-TEST ...