这篇文章给大家介绍码头工人容器中有哪些常用的网络配置命令,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
<强>网络基础配置强>
虽然码头工人可以根据镜像“多开“容器,并而每个容器互不影响,但并不代表容器与容器之间是完全决裂的.Docker在运行镜像的时候提供了映射容器端口到宿主主机,容器端口到另一个容器的网络互联功能,使得容器与宿主主机,容器与容器之间可以相互通信。
# # # ?从外部访问容器应用
在启动容器的时候,如果不指定对应的参数,在容器外是无法通过网络来访问容器内的网络应用和服务的。当容器中运行一些需要被外部访问的网络应用时,可以通过- p或者- p参数来指定端口映射。当使用- p标记时,码头工人会随机映射一个49000 ~ 49900的端口至容器内部开放的网络端口:
docker run -d -p [mirror ID 或是标记]
使用- p(小写)则可以指定要映射的端口,并且在一个指定端口上只可以绑定一个容器。支持的格式有ip: hostPort: containerPort | ip:: containerPort | hostPort: containerPort。
<强>映射所有接口地址
强>
使用hostPort: containerPort将本地的5000端口映射到容器的5000端口:
docker run -d -p 5000:5000 培训/webapp python 应用。py
此时默认会绑定本地所有接口上的所有地址。多次使用- p标记可以绑定多个端口:
docker run -d -p 5000:5000 -p 3000:80 培训/webapp python app.py
<强>映射到指定地址的指定端口强>
可以使用ip: hostPort: containerPort格式指定映射使用一个特定地址,比如localhost地址127.0.0.1:
docker run -d -p 127.0.0.1:5000:5000 培训/webapp python 应用。py
也可以是内部其它容器的IP地址。
<强>映射到指定地址的任意端口强>
使用IP:: containerPort绑定localhost的任意端口到容器5000端口,本地主机会自动分配一个端口:
docker run -d -p 127.0.0.1: 5000年,培训/webapp python 应用。py
还可以使用udp标记来指定udp端口:
docker run -d -p 127.0.0.1:5000:5000/udp 培训/webapp python 应用。py
<>强查看映射端口配置强>
使用码头工人港口查看当前映射的端口配置,也可以查看到绑定的地址:
docker port nostalgic_morse 5000年
容器有自己的内部网络和IP地址(使用码头工人检查+容器ID可以获取所有的变量值)。
<强>容器互联实现容器间的互通信强>
容器的连接系统是除了端口映射外另一种可以与容器中应用进行交互的方式。它会在源和接收容器之间创建一个隧道,接收容器可以看到源容器指定的信息。
<>强自定义容器命名强>
连接系统依据容器的名称来执行。因此首先需要自定义一个好记的容器命名。
虽然当创建容器的时候,系统默认会分配一个名字,但自定义命名容器有两个好处:
- <李>
自定义的命名比较好记
李> <李>当要连接其它容器时,可以作为一个有用的参数点,比如连接网络容器到db容器。
李>使用,名字标记可以为容器自定义命名:
docker run -d -p ——name web 培训/webapp python 应用。py
使用码头工人ps可以查看命的名,或者使用码头工人检查来查看容器的名字:
docker inspect -f “{{名称}}“,[mirror ID]
容器的名称是唯一的,如果已经命名了一个叫网络的容器,必须先用码头工人rm命令来删除这个容器,才能再以web这个名称创建新容器。
容器互联
使用,链接参数可以让容器之间安全地进行交互。
——链接参数格式是——链接名称:别名,其中名字是要链接容器的名称,别名是这个连接的别名。
比如我们先创建一个新的数据库容器:
docker run -d ——name db 培训/postgres
然后再创建一个web容器,并将它连接到db容器: