docker cp /host/path/file mytomcat02:/container/path/file:复制宿主机文件到容器中,可以用于当修改了容器配置文件后,配置文件错误导致无法启动时,复制配置文件到宿主机修改配置,然后重新复制回容器即可。docker inspect mytomcat:查看容器信息,包括容器ip等信息。

6. 构建docker镜像

假如我们下载了tomcat镜像并启动了容器实例,并在tomcat容器中修改了配置文件。这时,我们可以把配置文件也一起打包做成镜像,发到另外的机器直接执行,就不用再单独对每一台机器配置了。docker提供了两种方式来构建镜像,如下:
docker commit:通过容器构建docker build:通过dockerfile文件构建
dockerfile文件方式构建需要编写dockerfile,也只有几个命令,不难,请自行查阅资料。此处讲下docker commit命令。
docker commit mytomcat huangzb/tomcat:将当前的mytomcat容器提交为镜像,镜像名为huangzb/tomcat

7. 容器的网络结构

熟悉docker的网络结构是相当重要的,因为这样我们就可以做集群啦。废话不多说,那就直入主题吧。
docker的网络使用了linux网络中的bridge(网桥)和veth(virtual ethernet虚拟以太网)虚拟设备。
bridge:网络桥接器,简称网桥,普通的网桥只有两个接口,连接两个网络,工作在二层(数据链路层),只要有mac地址就能转发数据包。而linux得虚拟bridge有多个接口,并且能配置ip,更像一个路由器。安装完docker后,在宿主机中使用ifconfig命令,可以看到网络配置中出现了docker0网络。docker0就是docker设置的linux虚拟网桥。veth:virtual ethernet是linux中的虚拟网络设备,其像一条两端有网卡的线,可以将两个设备连接起来分别配置ip地址。
[图片上传失败...(image-b672e-1572257136481)]
因此,在我windows下docker toolbox中的网络如下图。
[图片上传失败...(image-3f9661-1572257136481)]

7.1. 容器间互联

由上,docker中新建的容器默认都使用了docker0网桥连接了起来,所有默认的,docker创建的所有容器都在一个网络中,互相可以访问。