docker容器的网络
linux的虚拟网桥docker0
特点:
可以设置ip地址
相当于拥有一个隐藏得虚拟网卡
docker0的地址划分:
ip:172.17.0.1 子网掩码:255.255.0.0
MAC: 02:42:ac:11:00:00 到02:42:ac:11:ff:ff
总共提供了65534个地址
在192.168.20.201上
端口映射
[root@docker ~]# docker run -d --name web100 nginx
bd054d7986f809cba9bbfecb7a14dc5dbf16e3643aa265dd3a5b136770260333
[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bd054d7986f8 nginx:latest "nginx -g 'daemon of 4 seconds ago Up 3 seconds 80/tcp, 443/tcp web100
这样容器外部服务器是访问不了
可以ping 通其他主机
-P 随机端口映射
[root@docker ~]# docker run -d -P -v /webroot:/usr/share/nginx/html --name web6 nginx
006d1043652b1fb002a627767ab5a5aa0bade98f17639fb5d1f17dfa9d77cea5
[root@docker ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
006d1043652b nginx:latest "nginx -g 'daemon of 15 seconds ago Up 15 seconds 0.0.0.0:32769->80/tcp, 0.0.0.0:32768->443/tcp web6
[root@docker ~]# elinks 192.168.100.100:32769 --dump
web2
-p 指定端口映射
ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort
[root@docker ~]# docker run -d -p 192.168.20.201:80:80 --name web7 nginx
00200a513f65b0f73d7b303b4b596b8dca71c96ac9b202250f0cec0431590601
[root@docker ~]# docker run -d -p 192.168.20.201::80 --name web8 nginx
63a2d8d966cff630c6b55ca9f73ca9ed3c571e98b69485284b4637b7946a18d2
[root@docker ~]# docker run -d -p 100:80 --name web9 nginx
80b5c280c25ce30f646fa4b7417de306d1657ae101066c70df87a8afa7c4bdf5
[root@docker ~]# docker run -d -p ::80 --name web9 nginx
80b5c280c25ce30f646fa4b7417de306d1657ae101066c70df87a8afa7c4bdf5
多端口映射
[root@docker101 ~]# docker run --name web1 -d -v /webroot:/usr/share/nginx/html -p 80:80 -p 443:443 php-apache
[root@docker ~]# netstat -anplt | grep docker-proxy
tcp 0 0 192.168.100.100:80 0.0.0.0:* LISTEN 32245/docker-proxy
tcp 0 0 192.168.100.100:32768 0.0.0.0:* LISTEN 32334/docker-proxy
tcp 0 0 :::100 :::* LISTEN 32420/docker-proxy
创建images:
Container 中的进程如nginx Listen例如80
Container 需要暴露端口80
创建Container:
Container 创建时通过-P 或 -p暴露端口