您的位置:首页 > 运维架构 > Docker

docker--端口映射与容器互联

2017-09-12 11:48 861 查看

端口映射实现访问容器

在启动容器时,如果不指定参数,外部网络无法访问容器。当容器运行一些网络应用,需要用外部网络访问,可以使用-p或-P参数指定映射端口。

使用-P时,docker随机映射一个49000-49900的端口到内部容器的网络端口。

-p
:指定绑定的端口,格式为
IP:HostPort:containerPort/Proto
或者
IP::ContainerPort/Proto
或者
HostPort:ContainerPort/Proto


使用
docker port
来查看端口情况。

容器互联

互联系统基于容器名字,所以要合理定义容器的名字。创建容器的时候使用
--name
来指定名字。注意:容器名字唯一
docker run -d  --name test1 centos


# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
6eba876ce347        centos              "/bin/bash"         51 seconds ago      Exited (0) 50 seconds ago                       test1


再创建一个test2,使之与test1互联,使用
--link
参数,格式为:
--link name:alias
name为容器的名字,alias为别名。

#  docker run -itd --name test2 --link test1:test1 centos

#docker exec -it test2 bash

[root@79234e79b68f /]# ping test1
PING test1 (172.17.0.3) 56(84) bytes of data.
64 bytes from test1 (172.17.0.3): icmp_seq=1 ttl=64 time=0.179 ms
64 bytes from test1 (172.17.0.3): icmp_seq=2 ttl=64 time=0.048 ms


在创建的test2中可以ping通test1,说明连接已建立。

此外,容器之间可以互相绑定。一对多,多对多。根据需要设置。

4000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: