Docker进阶学习-1
1、运行一个容器
docker run -it --rm -u root --name test1 tomcat sh
docker ps -a
1.1当退出容器时
容器消失了
主要是参数-rm,-rm的意思是退出容器时自动删除。执行docker run命令带--rm命令选项,等价于在容器退出后,执行docker rm -v。
2、在容器内执行ifconfig,提示找不到
去/usr/sbin目录
确实没有这个命令
2.1为了实现这个功能,run时映射宿主机目录
docker run -it -v /usr/sbin:/usr/sbin --rm -u root --name test1 tomcat sh
可以查看ifconfig了。
3、测试容器间互通性
新建一个test2容器
docker run -it -v /usr/sbin:/usr/sbin --rm -u root --name test2 tomcat sh
互相ping,可以ping通
互相ping容器名或者ping自己都无法Ping通
4、网桥及作用
------------------------------------------------------------------------------------- docker的桥接网络使用虚拟网桥,bridge网络用于同一主机上的docker容器相互通信,连接到同一个网桥的docker容器可以相互通信 默认网桥Docker0 默下启动docker之后会创建一个名为 docker0的网桥,新创建的容器都会自动连接到该网桥,但默认网桥具有一定缺陷 默认桥接网络中的容器只能通过IP地址访问其他容器(除非使用遗留的-link指令连接两个容器),而容器的IP创建前并不确定,为我们部署系统造成很大障碍(如服务的注册与发现,gateway的基本设置) 由于默认桥接网络只有一个,因此所有容器的网络配置都是一样的. 自定义网络 自定义桥接网络提供DNS解析,可以通过容器的名字或是别名访问其他容器 用户自定义网络可以在创建时指定网络配置(例如默认网关、MTU等),不需要重启docker,灵活性更高 多个容器可以使用同一个docker-compose(与docker service有关)文件启动 ,可以在该文件中定义共享环境变量 --------------------------------------------------------------------------------------- 本小节内容引自:https://blog.csdn.net/gxf212/article/details/89711638
4.1创建网桥
docker network create -d bridge CTN-NET
4.2查看网桥
4.3 重新run docker并加入该网桥
docker run -it -v /usr/sbin:/usr/sbin --rm -u root --name test1 --network bnet tomcat sh
网段变成172.19.0.xx了,然后再创建test2
4.3互ping测试,ip和容器名都可以通了
本博客是个人工作中记录,更深层次的问题可以提供有偿技术支持。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。