容器互联与端口映射
2017-11-19 20:03
337 查看
原文地址:https://www.cnblogs.com/ZachZhou/p/7455881.html
容器互联
默认情况下,容器都是各自独立运行,与世隔绝。
Docker提供了一个名为docker0的虚拟网桥,它会为每个相连的容器分配一个虚拟子网。但是尽管容器都连在同一个虚拟网桥上,如果没有额外的配置,它们还是不能够相互通信。
要将容器链接在一起,须按照以下步骤:
运行你希望被链接的容器,并用--name选项为它命名。
运行第二个容器,在docker run命令里运用--link选项并指定第一个容器的名字将其链接到第一个容器上。
例如,我们启动一个mysql的容器并链接到它,我们可以执行:
docker run –d --name db mysql
docker run –it --link db:db --name second-container ubuntu sh
--link选项的值的格式为:想要链接到的容器的名字:为想要链接到的容器取的内部别名。别名可以任意取,主要用于网络配置的解析。
端口映射
当我们想通过主机访问在Docker容器上运行的服务时,我们可以使用docker run命令的-p选项来执行端口映射。
例如,我们要通过访问Docker主机上的8080端口,访问在容器中运行在80端口上的Web服务器,我们可以使用以下命令进行端口映射:
我们可以通过下列命令查找映射的端口:
docker port
docker ps
我们还可以使用具有EXPOSE指令的Dockerfile和docker run命令的-P选项将容器上的端口公开到外面。 这将在后面的文章中讨论。
如果我们想要docker client连接到远程主机的docker daemon以便在本地执行远端docker命令,可以使用-H选项并跟上IP地址和端口。
Note:docker daemon默认端口为2375
或者我们可以设置DOCKER_HOST变量:
将docker client重新连回本地:
容器互联
默认情况下,容器都是各自独立运行,与世隔绝。
Docker提供了一个名为docker0的虚拟网桥,它会为每个相连的容器分配一个虚拟子网。但是尽管容器都连在同一个虚拟网桥上,如果没有额外的配置,它们还是不能够相互通信。
要将容器链接在一起,须按照以下步骤:
运行你希望被链接的容器,并用--name选项为它命名。
运行第二个容器,在docker run命令里运用--link选项并指定第一个容器的名字将其链接到第一个容器上。
例如,我们启动一个mysql的容器并链接到它,我们可以执行:
docker run –d --name db mysql
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=
相关文章推荐
- docker容器互联 分离部署PHP 和 nginx(端口映射方式)
- Docker实战(五)之端口映射与容器互联
- 端口映射与容器互联
- Docker容器的端口映射
- Docker 网络-端口映射、容器链接、Networking
- 修改docker容器端口映射的方法
- Docker 给运行中的容器设置端口映射的方法
- 通过配置文件修改docker容器端口映射
- docker启动容器端口映射错误
- docker挂载本地目录并映射端口,生产环境中的docker部署方案(多端口多容器)
- docker容器启动后添加端口映射
- Docker ,Keepalived , 虚拟IP ,NAT,如何把Docker容器里的虚拟 IP和 端口映射到局域网
- docker 给运行中的容器设置端口映射
- 关于MARATHON和容器的端口映射
- docker(iptables)目标地址转换,运行中的容器映射端口
- 016-docker容器与宿主机的端口映射
- docker容器端口映射,容器间关联,仓库搭建(不加密,加密,加密认证)
- 理解Docker容器端口映射
- Docker:从环境搭建到容器端口映射
- docker 给运行中的容器设置端口映射