Docker | 容器间访问方式
Contents
端口映射
用 docker run
的 -P
or -p
来映射端口
-P: Docker随机映射宿主机49000~49900的一个端口到容器内部开放的网络端口
1 2 3
$ docker run --name test -d -P ubuntu:14.04 /bin/bash # 查看容器信息 $ docker ps -l
-p: 指定端口映射(一个端口只能对应一个容器)
1 2 3 4 5 6 7 8 9 10 11 12 13
# -p hostPort:containerPort # 不绑定ip,默认映射所有网络接口(localhost|ip|domain...) # -p 多次使用则指定多个端口 # 本地 8080, 9090 分别映射到容器 8080,9090 $ docker run --name test -d -p 8080:8080 -p 9090:9090 ubuntu:14.04 /bin/bash # -p ip:hostPort:containerPort # 映射主机的特定地址到容器的8080端口 $ docker run --name test -d -p 127.0.0.1:8080:8080 ubuntu:14.04 /bin/bash # -p ip::containerPort # 映射 localhost 的任意端口(本地主机自动分配)到容器 8080 $ docker run --name test -d -p ip::8080 ubuntu:14.04 /bin/bash
查看端口映射配置
1 2 3 4 5
# 端口映射配置 $ docker port container(id|name|digist) # 容器所有配置 $ docker inspect container(id|name|digist)
注意
- 容器有自己的内部网络和ip,Docker还可以有一个可变的网络配置
容器互联系统
容器互联系统:在源容器和接收容器之间建立隧道,供容器应用交互
容器互联系统依据容器名称执行,因此容器名称要保持唯一
容器命名
用docker run
的--name
来指定1 2
# 容器起名:test $ docker run --name test -d -p 8080:8080 ubuntu:14.04 /bin/bash
容器互联
用 docker run
的 --link
来指定
1 2 3 4 5 6 7 8 9 |
# Usage: `--link name:alias` # name: 要连接容器的名称 # alias: 此连接的别名 # 创建容器test作为源容器 $ docker run --name test -d -it ubuntu:14.04 /bin/bash # 创建容器test1链接到容器test $ docker run --name test1 -d -it --link test:link_test ubuntu:14.04 /bin/bash |
See Also
Thanks to the authors 🙂