赞
踩
目录
docker安装成功后,会自动创建三个网络,可以通过如下的方式查看:
- lisen@ubuntu:~$ sudo docker network ls
- [sudo] password for lisen:
- NETWORK ID NAME DRIVER SCOPE
- 8994fe397802 bridge bridge local
- 436da757b62d host host local
- 1b2be829b666 none null local
- lisen@ubuntu:~$
在运行容器时可以通过--net参数指定网络模式,例如:
Docker每次创建容器都会同时创建一组互联的网络接口,你可以理解为一根管道的两端, 这组接口一端作为容器的eth0接口,另一端命名类似于veth966865c@if100这样的名字,作为宿主机的一个端口。可以将veth接口的理解为虚拟网线的一端,这个虚拟网线一端插在名为docker0的网桥上,另一端插到容器中。通过这种方式Docker创建了一个虚拟子网,这个虚拟子网被宿主机和所有的Docker容器共享。
注: 可以安装bridge-utils工具查看网桥信息
如: yum install bridge-utils
查看网桥信息: brctl show
docker的最佳实践建议为每个服务创建单独的docker容器,比例:db,redis,应用服务等等,那么不同的服务需要连接以便于作为整体为客服提供服务,例如应用服务需要连接db,redis等。常见的容器连接方法有三种:
1)这三种方式如何选择呢?
Docker的内部网络,这种方式不灵活,在重启容器需要重新配置,所以不推荐使用这种方式;如果使用Docker1.9之前的版本,则应该选择Docker link的方式; 如果使用docker1.9及更高的版本,则推荐使用Docker Networking,这种方式最灵活,功能也是最强大的。
2)Docker link和Docker Networking之间有什么区别呢?
3)也就是说只要用的docker是1.9版本之后,就应该使用Docker Networking咯?
恭喜你,答对了。
因为我们肯定会使用docker1.9之后的版本(现在docker已到19.04版本甚至更高版本了),所以我们只讲Docker Networking方式
容器之间连接用网络创建,这个网络被称为Docker Networking,是Docker1.9版本之后的新特性。用户可以通过Docker Networking创建自己的网络,容器可以通过这个网络进行通信。
创建一个新的网络可以使用如下的命令:
sudo docker network create app
可以使用如下的方式来查看网络的详细信息
sudo docker network inspect app
sudo docker network ls
sudo docker network rm app
1)启动镜像时指定--net参数
sudo docker run -it --name test --net=app imagename
2)也可以将运行中的容器加入网络
sudo docker network connect app test
创建好容器后进行测试,测试是否可以通讯 下载一个contos镜像测试
docker pull centos:7
创建两个容器 看是否可以 ping 通
docker run -itd --name ubd centos:7
删除所有 容器
- mkdir -p /data/text/nginx/{conf,html,logs}
- mkdir -p /data/text/tomcat/{webapps/ROOT,conf,logs}
目录结构
我们在 webapps/ROOT中创建index.html
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8"/>
- <title>Nginx+tomcat集群</title>
- </head>
- <body>
- <h1>Nginx+tomcat集群部署示例</h1>
- </body>
- <html>
- docker run -d --name tomcat1 -v /data/text/tomcat/webapps:/usr/local/tomcat/webapps tomcat:9
- docker run -d --name tomcat2 -v /data/text/tomcat/webapps:/usr/local/tomcat/webapps tomcat:9
容器的IP可以通过 docker inspect tomcat1 进行查看
修改nginx 配置文件
- docker run -d -p 80:80 \
- --name nginx -v /data/text/nginx/html/:/usr/share/nginx/html \
- -v /data/text/nginx/conf/nginx.conf/:/etc/nginx/nginx.conf \
- -v /data/text/nginx/logs/:/var/log/nginx nginx
通过宿主机ip 进行访问
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。