阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

docker学习第八天 docker 基础之网络配置

28次阅读
没有评论

共计 1782 个字符,预计需要花费 5 分钟才能阅读完成。

导读 今天总结一下 docker 网络配置

docker 学习第八天 docker 基础之网络配置
大量的互联网应用服务包括多个服务组件,这往往需要多个容器之间通过网络通信进行相互配合。

Docker 目前提供了映射容器端口到宿主主机和容器互联机制来为容器提供网络服务

本章讲解如何使用 docker 的网络功能。包括使用端口映射机制来将容器内应用服务提供给外部网络,以及通过容器互联系统让多个容器之间进行快捷的网络通信。

从外部访问容器应用

在启动容器的时候,如果不指定对应参数,在容器外部无法通过网络访问容器内的应用。需要通过 -p 参数来指定端口映射。当使用 -p 标记时,docker 会随机映射一个 49000~49900 的端口到外部开放的网络端口。

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

-p(小写) 这可以指定要映射的端口,并且在指定端口上可以绑定一个容器。格式

ip:hostPort:containerPort
ip::containerPort
hostport:containerPort
映射所有接口地址

使用 hostPort:containerPort 格式将本地的 5000 端口映射到容器的 5000 端口

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

此时默认会绑定本地所有接口上的所有地址。多次使用 -p 可以绑定多个端口。

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

可以使用 ip:hostPort:containerPort 格式指定映射使用一个特定地址,比如 localhost 地址 127.0.0.1:

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

使用 ip::containerPort 板顶 localhost 的任意端口到容器的 5000 端口,本地主机会自动分配一个端口。

docker run -d -p 127.0.0.1::5000 training/webapp python app.py
还可以使用 udp 来指定 udp 端口:
docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
查看银色端口配置

使用 docker port 来查看当前映射的端口配置。也可以查看到绑定的地址:

docker port nostalgic_morse 5000
容器互联实现容器间通信

容器的连接(linking)系统是除了端口映射外领一种可以与容器中应用进行交互的方式。它会在源和接受容器之间创建一个隧道,接收容器可以看到源容器指定的信息。

自定义容器命名

连接系统一句容器的名称来执行。因此。首要自顶一个好几的容器命名。

虽然当创建容器的时候,系统默认会分配一个名字,但自定义容器有两个好处:1. 好记,2 作为有用的参考点。

docker run -d -P --name web training/webapp python app.py
使用 docker ps 来验证设定的命名:
docker ps -l
也可以使用 docker inspect 来查看容器的名字:
docker inspect -f "{{.Name}}" aed84ee21bde

在执行 docker run 的时候如果添加 –rm 标记,则容器在终止后会立即删除,注意 –rm 和 -d 参数不能同时使用。

容器互联

使用 –link 参数可以让容器之间安全的进行交互。

下面先创建一个新的数据库容器;
docker run -d --name db training/postgres
删除之前的 web 容器:
docker rm -f web
然后创建一个新的 web 容器,并将它连接到 db 容器
docker run -d -P --name web --link db:db training/webapp python app.py

此时,db 容器和 web 容器建立互联关系。

–link 参数的格式: –link name:alias,其中 name 是要连接的容器的名称,alias 是这个链接的别名。

使用 docker ps 查看容器的连接
docker ps

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1782字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中