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. 个人项目:Java实现WC

    Java实现WC Github项目地址:https://github.com/auxshaw/WC 项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个 ...

  2. Orchard详解--第二篇 启动

    Orchard Framework作为框架它与类库最大的区别就是框架是将一系列零散的组件组合在一起形成一个整体,接下来就对Orchard Framework如何分析Orchard如何将相关组件结合在一 ...

  3. The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction

    今天遇到一起关于分布式事务错误的案例,如下所示,执行SQL脚本时报错, 错误信息具体如下所示: [OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中 ...

  4. c#核心基础--类的构造方法

    一.构造方法 类的构造方法是类的成员方法的一种,它的作用是对类中的成员进行初始化操作.类的构造方法分为: 1.静态构造方法 2.实例构造方法 3.私有构造方法 1.静态构造方法 类的静态构造方法是类的 ...

  5. 洗礼灵魂,修炼python(72)--爬虫篇—爬虫框架:Scrapy

    题外话: 前面学了那么多,相信你已经对python很了解了,对爬虫也很有见解了,然后本来的计划是这样的:(请忽略编号和日期,这个是不定数,我在更博会随时改的) 上面截图的是我的草稿 然后当我开始写博文 ...

  6. SQL SERVER 查询与整理索引碎片

    重建索引 use DATABASE_NAME; ) ) DECLARE @fillfactor INT DECLARE TableCursor CURSOR FOR SELECT OBJECT_SCH ...

  7. 转:修改IIS虚拟目录名称bat脚本

    @echo off echo ------------------------------------------------------------------------------ echo - ...

  8. AppiumLibrary常用关键字

    通过上一章节,open application关键字的使用,相信大家对手机自动化充满了兴趣,那么今天这一章节,主要介绍AppiumLibrary中常用关键字的使用. 一.实用函数 关键字 含义 实例 ...

  9. nmap脚本使用总结

    0x00 前言: nmap的基本介绍和基本使用方法,在乌云知识库中已经有人提交过,讲的比较详细,在此文中就不再讲述. 具体链接:http://drops.wooyun.org/tips/2002 本文 ...

  10. Teradata超长数据会截断

    1.数据库版本 Teradata 15.10 2.测试案例: create multiset table test_stg ( col1 ) CHARACTER SET LATIN not null ...