容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射。
当使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口。
映射时,有下面几种方式
映射所有接口地址
1 | docker run -d -p 5000:5000 training/webapp python app.py |
映射到指定地址的指定端口1
docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py
映射到指定地址的任意端口1
docker run -d -p 127.0.0.1::5000 training/webapp python app.py
查看映射端口配置1
docker port nostalgic_morse 5000
容器互联1
2docker network create -d bridge my-net
-d 参数指定 Docker 网络类型,有 bridge overlay。其中 overlay 网络类型用于 Swarm mode
运行一个容器并连接到新建的 my-net 网络1
docker run -it --rm --name busybox1 --network my-net busybox sh
如果你有多个容器之间需要互相连接,推荐使用 Docker Compose。