从外部访问容器应用
在启动容器的时候,如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。
可以在启动容器的时候使用-P
;这样,Docker会随机映射一个49000~49900的端口到内部容器开放的网络端口;
不同的容器开放的网络端口也不同,比如redis
会将随机端口映射到6379
,而mysql
会映射到3306
小写-p
可以指定端口进行映射,并且,在一个指定端口上只能绑定一个容器,支持以下格式
- IP:端口号:容器端口号
- IP::容器端口号
- 宿主机端口号:容器端口号
可以使用docker ps -l
查看容器总体映射情况
可以使用docker port 容器名 [容器端口]
来查看指定容器(或它的某个端口)的映射情况
映射所有接口地址可以在-p
后面加上 5000:5000
将本地的5000端口映射到容器的5000端口. 此时会默认绑定本地所有接口上的所有地址
绑定多个端口的话需要使用多次-p
便捷访问
自定义容器命名
run
的参数--name
,给容器进行命名
可以使用命令来查看容器名字
$ docker [container] inspect
容器互联
接收容器连接源容器可以使用run
的--link
参数让容器之间安全地交互
- --link参数的格式是 name:alias ,即名字:别名
如果你进入接收容器中使用查看etc/hosts
的文件,你会发现它自动将自己的id映射向自己的ip,然后将源容器的容器名映射向源容器的ip