4.6-容器访问

  • 外部访问容器

容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射。
当使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口。
使用 docker ps 可以看到,本地主机的 49155 被映射到了容器的 5000 端口。
此时访问本机的 49155 端口即可访问容器内 web 应用提供的界面。

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

  • 容器访问外部网络

在Linux环境下,

sysctl net.ipv4.ip_forward

若 net.ipv4.ip_forward=1 本地主机开启转发功能;若该值为0,则禁用。亦可以启动docker 服务时指定 --ip_forward=true 。

  • 容器互联

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

使用 --link 参数可以让容器之间安全的进行交互。下面先创建一个新的数据库容器。

sudo docker run -d --name db training/postgres

然后创建一个新的 web 容器,并将它连接到 db 容器

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

此时,db 容器和 web 容器建立互联关系。
--link 参数的格式为 --link name:alias ,其中 name 是要链接的容器的名称, alias 是这个连接的别名。

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

注意:这是同一主机下的容器连接,若是不同主机上的容器互联,则需指定主机 IP。

跨主机互联方案将另作篇幅单独叙述,目前的方案有 Ambassador 容器机制、docker-machine 软件工具搭建跨主机容器集群、overlay 网络方案及 macvlan 网络方案等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值