Docker(4)-容器互联与端口映射

    容器互联

    默认情况下,容器都是各自独立运行,与世隔绝。

    Docker提供了一个名为docker0的虚拟网桥,它会为每个相连的容器分配一个虚拟子网。但是尽管容器都连在同一个虚拟网桥上,如果没有额外的配置,它们还是不能够相互通信。

    要将容器链接在一起,须按照以下步骤:

  1. 运行你希望被链接的容器,并用--name选项为它命名。
  2. 运行第二个容器,在docker run命令里运用--link选项并指定第一个容器的名字将其链接到第一个容器上。

    例如,我们启动一个mysql的容器并链接到它,我们可以执行:

  1. docker run –d --name db mysql
  2. docker run –it --link db:db --name second-container ubuntu sh

    --link选项的值的格式为:想要链接到的容器的名字:为想要链接到的容器取的内部别名。别名可以任意取,主要用于网络配置的解析。

 

    端口映射

    当我们想通过主机访问在Docker容器上运行的服务时,我们可以使用docker run命令的-p选项来执行端口映射。

    例如,我们要通过访问Docker主机上的8080端口,访问在容器中运行在80端口上的Web服务器,我们可以使用以下命令进行端口映射:

docker run -d -p 8080:80 --name webserver apache

    我们可以通过下列命令查找映射的端口:

  • docker port
  • docker ps 

    我们还可以使用具有EXPOSE指令的Dockerfile和docker run命令的-P选项将容器上的端口公开到外面。 这将在后面的文章中讨论。

 

    如果我们想要docker client连接到远程主机的docker daemon以便在本地执行远端docker命令,可以使用-H选项并跟上IP地址和端口。

    Note:docker daemon默认端口为2375

docker -H 192.168.56.50:2375 –d &

    或者我们可以设置DOCKER_HOST变量:

export DOCKER_HOST="tcp://192.168.56.50:2375"

    将docker client重新连回本地:

export DOCKER_HOST=

 

转载于:https://www.cnblogs.com/ZachZhou/p/7455881.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值