1、运行容器并为容器起别为web,--name为容器起个别名
[root@localhost ~]# docker run -d --name web tomcat
62f9c6d4e02708f8420c62ac1d7d232416795323bf1755680f15b88ea2db435a
最后一项可以看到names是web
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
62f9c6d4e027 tomcat "catalina.sh run" 26 seconds ago Up 21 seconds 8080/tcp web
b32d3a7ab7a7 dufuyun/mywebapp:1.0 "catalina.sh run" 28 hours ago Exited (255) 6 minutes ago 0.0.0.0:8001->8080/tcp zealous_cannon
2、起动一个centos,命名为databas,-d后台运行,-it交互模式,/bin/bash,要不然不加这些参数centos起动后就退出了
[root@localhost ~]# docker run -d --name database -it centos /bin/bash
3317772edaa5052c219300bd99ac92a147ea4c045278d46f97bd1ff7b1afb605
3、查看docker元数据,inspect后接容器ID或者容器的名字,如刚才起的名子web
[root@localhost ~]# docker inspect web
4、正常情况下容器之间用IP是可以拼通的。但用容器的名字不能拼通。--link database的意思是让tomcat能连接到database此时就可以拼通了
[root@localhost ~]# docker run -d --name web --link database tomcat
8fd3fedb9b8a07ac0fe072c7cfcd4333c630874312a8f3a593fdea4365feb0c0
5、进入tomcat容器后ping,database,以后可以用database来代替IP地址。这样即使容器的IP变了,也不会影响连接了。
[root@localhost ~]# docker exec -it 8fd3fedb9b8a /bin/bash
root@8fd3fedb9b8a:/usr/local/tomcat# ping database
PING database (172.17.0.3) 56(84) bytes of data.
64 bytes from database (172.17.0.3): icmp_seq=1 ttl=64 time=0.222 ms
64 bytes from database (172.17.0.3): icmp_seq=2 ttl=64 time=0.068 ms
64 bytes from database (172.17.0.3): icmp_seq=3 ttl=64 time=0.075 ms
你也可以在起动database中连接tomcat这样用--link就做到了双向连接