6. docker使用网络
在容器中部署一个web应用,外部如何访问?
容器与容器间如何访问?
外部访问容器
容器可以运行一些网络应用,让外部也可以访问的话,需要进行服务器和容器的端口映射 -p 或者 -P
-P默认会分配一个49000~49900的端口到内部容器开放的网络端口
-p可以指定端口与容器端口的映射
-P默认分配
docker run --name web1 -d -P tomcat:latest
系统默认分配一个端口映射
进入容器,修改index.jsp内容
外部浏览器查看
-p指定端口映射
指定外部访问接口8088
docker run --name web2 -d -p 8088:8080 tomcat:latest
查看容器端口映射
修改index.jsp内容
外部查看
查看应用的信息 docker logs
docker logs -f web
容器互联
容器之间的互联,可以通过--link参数是容器互联,但是随着docker的发展,建议大家使用自定义的网络来连接容器。
(1)新建网络
docker network create [选项] [网络名]
eg: docker network create -d bridge imok-net
-d参数表示Docker网络类型,有bridge、overlay,overlay网络类型适用于swarm mode
(2)连接容器
新建容器并且使得连接到网络,使用 --network
docker run -it --rm --name busybox1 --network imok-net busybox sh
docker run -it --rm --name busybox2 --network my-net busybox sh
证明两个容器可以相互ping通
busybox1 ping busybox2
busybox2 ping busybox1