docker新手入门(4)之容器连接

前面写过怎么通过后台运行一个docker的web应用并且本机通过特定端口访问,这一部分讲的大概就是这一块的内容了

网络端口映射

创建一个python应用的容器,还是和以前一样

1
2
3
4
5
6
root@blacsheep-myubuntu:/home/blacsheep# docker run -d -P training/webapp python app.py
0a4a54a161ad6226681a03d708a40003cdac29217c8d181a5d7c868dcfcc4a87
root@blacsheep-myubuntu:/home/blacsheep# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0a4a54a161ad training/webapp "python app.py" 6 seconds ago Up 4 seconds 0.0.0.0:32768->5000/tcp objective_curie
root@blacsheep-myubuntu:/home/blacsheep#

-P指的是使用docker指定的端口 当然我们也可以自定义端口,使用-p 主机端口:容器端口

1
2
3
4
5
6
root@blacsheep-myubuntu:/home/blacsheep# docker run -d -p 5000:5000 training/webapp python app.py
e25b18467f580af41abd52eae2710f999b7f3b901d9be932af09c96aede5a706
root@blacsheep-myubuntu:/home/blacsheep# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e25b18467f58 training/webapp "python app.py" 4 seconds ago Up 3 seconds 0.0.0.0:5000->5000/tcp suspicious_hermann
root@blacsheep-myubuntu:/home/blacsheep#

如果使用udp的话,可以在端口后面加上/udp

1
2
3
4
5
6
root@blacsheep-myubuntu:/home/blacsheep# docker run -d -p 5000:5000/udp training/webapp python app.py
a2c1428b1ebb5559396ba4ee6c859d881a3f5c1da3b77d00f01b0ad1ed43cee9
root@blacsheep-myubuntu:/home/blacsheep# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a2c1428b1ebb training/webapp "python app.py" 6 seconds ago Up 4 seconds 5000/tcp, 0.0.0.0:5000->5000/udp tender_shaw
root@blacsheep-myubuntu:/home/blacsheep#

docker port可以帮我们查看端口绑定的情况

1
2
3
root@blacsheep-myubuntu:/home/blacsheep# docker port a2c1428b1ebb
5000/udp -> 0.0.0.0:5000
root@blacsheep-myubuntu:/home/blacsheep#

docker容器连接

端口映射不是唯一的连接的方法...

1
2
3
docker有一个连接系统允许将多个容器连接在一起,共享连接信息。

docker连接会创建一个父子关系,其中父容器可以看到子容器的信息。

这里还不大看得懂...慢慢学吧...

容器命名

通过--name来标识容器

1
2
3
4
5
6
root@blacsheep-myubuntu:/home/blacsheep# docker run -d -P --name blacsheep training/webapp python app.py
17799882b9dd0d255b1ca62f5c9b0a45e0d35d277427271e1d6a17b762246e94
root@blacsheep-myubuntu:/home/blacsheep# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
17799882b9dd training/webapp "python app.py" 6 seconds ago Up 6 seconds 0.0.0.0:32769->5000/tcp blacsheep
root@blacsheep-myubuntu:/home/blacsheep#

okok要出门了....回来继续写...