码迷,mamicode.com
首页 > 其他好文 > 详细

docker-5.网络

时间:2018-02-15 14:16:08      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:oct   icm   net   根据   大写   home   python   running   and   

端口映射

docker run -d -P training/webapp python app.py

-P    映射随机端口,随机端口范围由/proc/sys/net/ipv4/ip_local_port_range定义

通过docker port查看映射的端口

docker port backstabbing_hodgkin

5000/tcp -> 0.0.0.0:32775

docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS                      NAMES

b3bab6730061        training/webapp     "python app.py"     4 seconds ago        Up 4 seconds        0.0.0.0:32775->5000/tcp    backstabbing_hodgkin

 

curl 127.0.0.1:32773

Hello world!

 

通过docker logs可以查看容器内消息

docker logs determined_carson

* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

172.18.0.1 - - [24/Oct/2017 08:42:12] "GET / HTTP/1.1" 200 -

 

映射所有接口地址的端口

docker run -d -p 5000:5000 training/webapp python app.py

#-p参数可多次使用

 

映射指定地址指定端口

docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py

 

映射UDP端口

docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py

ss -ntlu | grep "5000"

udp    UNCONN     0      0      127.0.0.1:5000                  *:*

 

容器互联

容器的连接(linking) 系统是除了端口映射外,另一种跟容器中应用交互的方式。

该系统会在源和接收容器之间创建一个隧道,接收容器可以看到源容器指定的信

息。

容器连接根据容器的名称来执行

 

创建db容器

docker run -d --name db training/postgres

创建web容器并连接db容器

docker run -d -P --name web --link db:db training/webapp python app.py

通过查看环境变量来查看容器公开连接信息

docker run --rm --name web2 --link db:db training/webapp env

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

HOSTNAME=d6fc554fd0d4

DB_PORT=tcp://172.18.0.2:5432

DB_PORT_5432_TCP=tcp://172.18.0.2:5432

DB_PORT_5432_TCP_ADDR=172.18.0.2

DB_PORT_5432_TCP_PORT=5432

DB_PORT_5432_TCP_PROTO=tcp

DB_NAME=/web2/db

DB_ENV_PG_VERSION=9.3

HOME=/root

DB_ 开头的环境变量是供 web 容器连接 db 容器使用,前缀采用大写的连接
别名。

通过查看hosts文件查看容器公开连接信息

docker run -it --rm --link db:db training/webapp /bin/bash

root@7c6c61eaa74b:/opt/webapp# cat /etc/hosts

127.0.0.1 localhost

 

172.18.0.2 db 5ca8502421a5

172.18.0.4 7c6c61eaa74b

root@7c6c61eaa74b:/opt/webapp# ping db

PING db (172.18.0.2) 56(84) bytes of data.

64 bytes from db (172.18.0.2): icmp_seq=1 ttl=64 time=0.083 ms

docker-5.网络

标签:oct   icm   net   根据   大写   home   python   running   and   

原文地址:https://www.cnblogs.com/liang-yao/p/8449463.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!