docker的端口映射
docker端口映射有四种方法:
~]# docker run -itd --name="t1" -p 81:80 5e35e350aded /bin/bash //将容器的80端口映射到宿主机的81端口
~]# docker run -itd --name="t2" -p 192.168.1.60:82:80 42b4762643dc /bin/bash //将容器的端口映射到指定IP的端口
~]# docker run -itd --name="t3" -p 80 42b4762643dc /bin/bash //将容器的端口映射到任意的宿主机端口
~]# docker run -itd --name="t4" -p 192.168.1.60::80 42b4762643dc /bin/bash //将容器端口映射到指定IP的任意端口
~]# docker run -itd --name="t6" -p 87:80 -p 88:3306 -p 89:8080 42b4762643dc /bin/bash //多端口映射
docker数据卷的挂载
有直接将文件copy到容器内和将文件挂载到容器内(可实现一次挂载多次使用)
~]# docker cp index.html a0ccca4c511d:/root/ //将宿主机的文件复制到容器里
~]# docker cp a0ccca4c511d:/root/idenx.html ./ //将容器的文件复制到宿主机
~]# docker run -itd --name="aa" -v /opt/test:/opt/test 5e35e350aded bin/bash //将宿主机的文件映射到容器中
~]# docker run -itd --name="aa" -v /opt/test:/opt/test -v /etc/test:/etc/test 5e35e350aded /bin/bash //挂在多个文件
实现一次挂载多次使用:制作数据卷容器,将数据卷容器挂载到需要挂载相同文件的容器中
~]# docker run -itd --name="test-mount" -v /opt/test:/opt/test -v /etc/test:/etc/test 5e35e350aded /bin/bash //首先制作一个数据卷容器,定义名字为“test-mount”
~]# docker run -itd --volumes-from test-mount --name="test" 5e35e350aded /bin/bash //直接将之前的容器挂载到当前容器
docker容器之间相互通信
~]# docker run -itd --name="test1" centos:tang /bin/bash //首先启动一个容器
7967ec5c848a56e50028fbdc9ced6ef452aa5e8d36c274057637398e3e3aaf06
~]# docker run -itd --name="test2" centos:tang /bin/bash //再启动一个容器
1a516bb02e49f07af82015d2a6ef014f4382a2e902afc5d4a839f7143ebfeecf
~]# docker inspect 7967 //通过docker inspect查看容器的底层信息可查看到IP
~]# docker inspect 1a51 //通过docker inspect查看容器的底层信息可查看到IP
这是容器名为test1的IP:可查看到ip为172.17.0.2、网关为:172.17.0.1、子网掩码为16位(255.255.0.0)
进入到容器test2里面利用ping命令测试是否可以通信
容器实现随docker的启动而启动