Docker端口映射

[TOC]

docker容器在启动的时候,如果不指定端口映射参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。

也可使用Dockerfile文件中的EXPOSE指令来配置。

00X01 端口映射支持的格式:

OptionDesc
ip:hostport:containerport指定ip、指定宿主机port、指定容器port
ip::containerport指定ip、未指定宿主机port(随机)、指定容器port
hostport:containerport未指定ip、指定宿主机port、指定容器port

使用-p 或 -P(大写) 参数来指定映射端口

  • -p 指定要映射的端口,一个指定端口上只可以绑定一个容器
  • -P 将容器内部开放的网络端口随机(49000~49900)映射到宿主机的一个端口上

00X02 端口映射方法

00X021 随机映射所有端口

不推荐使用)

docker run -P -it ubuntu /bin/bash 

00X022 随机映射容器端口

docker run -P 80 -it ubuntu /bin/bash

将容器的80端口随机映射到宿主机的一个端口上

00X023 映射指定端口

docker run -p 80:80 -it ubuntu /bin/bash

将容器的80端口映射到宿主机80端口上

00X024 将容器ip和端口,随机映射到宿主机上

docker run -P 192.168.0.1::80 -it ubuntu /bin/bash

将容器的ip192.168.0.1和80端口,随机映射到宿主机的一个端口上

00X025 将容器ip和端口,指定映射到宿主机上。

docker run -p 192.168.0.1:80:80 -it ubuntu /bin/bash

将容器的ip192.168.0.1和80端口,映射到宿主机的80端口。

00X03 查看端口映射配置

docker port container_id

[[email protected] ~]$ docker port nginx
80/tcp -> 0.0.0.0:80
443/tcp -> 0.0.0.0:443

直接用docker ps

[[email protected] ~]$ docker ps
634bcb0a63ae        nginx:alpine                     "nginx -g 'daemon of…"   400 days ago          Up 60 days           0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   nginx
Last modification:May 29th, 2020 at 10:00 pm
如果觉得我的文章对你有用,请随意赞赏