Docker网络基础配置--RHEL7.2

  Docker目前提供的网络服务包括: 容器端口映射宿主机端口和容器之间互联两种方式。

1.  端口映射访问容器

  容器在启动的时候如未指定对应参数是不能在外部访问容器内进程的。

  在容器启动时可以使用参数-P和-p将容器的端口映射到宿主机,实现外部和容器内进程的通信。

  -P : 容器映射到宿主机的端口由宿主机分配。

  -p : 用户在启动容器时指定映射到宿主机的端口。

  -P:

  docker run -ti --name "c1" -P centos:tag1 /bin/bash

  查看端口映射情况:

  docker ps -l

  查看容器某个端口的映射信息:

  docker port c1 7000

  -p:

  docker run -ti --name "c2" -p 5000:4000 centos:tag1 /bin/bash

  容器启动时映射多个端口到宿主机:

  docker run -ti -p 21000:3000 -p 22000:4000 --name "c3" centos:tag1 /bin/bash

  容器端口映射到指定主机的指定端口:

  docker run -ti --name "c4" -p 127.0.0.1:21000:2000 centos:tag1 /bin/bash

  容器端口映射到指定主机的任意端口:

  docker run -ti --name "c5" -p 127.0.0.1::2000 /centos:tag1 bin/bash

2. 容器间互联实现容器通信

  此种方式会在源和接收容器之间建立一个隧道,接收容器通过此隧道获取源容器指定的信息。

  --rm参数和-d参数在docker run时不可一起使用。

  容器在启动时通过参数--link实现互联:

  启动从c1:

  docker run -ti --name "c5" centos:tag1 /bin/bash

  启动c2实现与c1互联:

  docker run -ti --name "c2" --link c1:c1 centos:tag1 /bin/bash     #c1:c1=> 源容器名字:源容器名字别名

  检查容器c1和c2是否互联:

  方法一: ping

    默认情况下容器c1和c2中没有安装命令ping和ifconfig。

     在容器c1和c2中安装网络工具:

    yum install -y net-tools

    ping对方看是否ping通。

  方法二: /etc/hosts

    查看c2文件/etc/hosts, 如c1与c2实现互联则此文件中会出现c1的信息。

  扩展: 一个容器可以与多个容器互联

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值