dockerfile 多端口映射 expose

大家都知道,如果外界要和Docker容器进行通讯,那么除了link必须是port映射,下面先介绍下Dockerfile EXPOSE的用法,然后做一个多端口随机映射的实例吧。

格式为: 
EXPOSE PORT

下面是我的Dockerfile

# Tomcat
# Version 0.0.1

# GET_IMAGE
FROM 192.168.0.216:5000/centos

# MAINTAINER_INFO
MAINTAINER hongxue [email protected]

RUN yum -y install vim
RUN yum -y install net-tools
RUN yum -y install openssh-server
RUN yum -y install wget curl

# PORT
EXPOSE 8080
EXPOSE 22
EXPOSE 8009
EXPOSE 8005
EXPOSE 8443
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

我在Dockerfile中定义了 tomcat 的四个端口和ssh 22 端口,并且构建该配置档为镜像文件,镜像名为 port_list

docker build -t port_list .
docker images | grep port_list
  • 1
  • 2
  • 1
  • 2

构建成功后运行该 images,注意在容器运行的时候一定要加-P

docker run -d -it -P --name port_list_container port_list
  • 1
  • 1

OK,Container已经running,分别映射端口为(22,8005,8009,8443,8080)映射到本机中的(32775,32776,32777,32773,32774)

这里写图片描述

你可能感兴趣的:(IT-Docker)