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的启动而启动