您的位置:首页 > 理论基础 > 计算机网络

5.网络基础配置

2015-08-28 15:19 441 查看
Docker目前提供了映射容器端口到宿主主机和容器互联机制来为容器提供网络服务

1.从外部访问容器应用
在启动容器的时候,如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的
当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-p或-P参数来指定端口。

-P:随机映射一个49000-49900的端口至容器内部开放的网络端口
-p:可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器。
格式:ip:hostport:containerport | ip::containerport | hostport:containerport

例:docker run -d -P graining/webapp python app.py

2:映射所有接口地址

映射本地5000端口映射到容器的5000端口
docker run -d -p 5000:5000 training/webapp python app.py

映射到指定地址的指定端口
docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py

映射到指定地址的任意端口
docker run -d -p 127.0.0.1::5000 training/webapp python app.py

3:查看映射端口配置
docker port NAMES

4:容器互联实现容器间通信

自定义容器命名
连接系统依据容器的名称来执行。因此,首先需要自定义一个好记的容器命名
虽然当创建容器的时候,系统默认会分配一个名字,但自定义命名容器有两个好处
自定义的命名,比较好记,比如一个WEB应用容器,我们可以给它起名叫web
当要连接其它容器的时候,可以作为一个有用的参考点,比如连接WEB容器到db容器。

使用--name 标记可以为容器自定义命名
docker run -d -P --name web training/webapp python app.py

注:容器的名称是惟一的。如果已经命名了一个叫web的容器,当再次使用web这个名称的时候,需要先用docker rm来删除之前创建的同名容器。
在执行docker run的时候,如果添加--rm标记,则容器在终止后立刻删除。注意--rm和-d参数不能同时使用。


5容器互联
使用--link参数可以让容器之间安全的进行交互

例:
先创建一个新的数据容器db
docker run -d --name db training/postgres

创建一个新的web容器,并将它连接到db容器
docker run -d -P --name web --link db:db training/webapp python app.py

此时,db容器和web容器建立互联关系
--link参数的格式为--link name:alias 其中name是要链接的容器名称,alias是这个连接的别名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网络基础配置