以下是基本的 Docker NGINX 镜像:
FROM nginx:alpine
COPY src /usr/share/nginx/html
EXPOSE 80
图像的元数据包括暴露的端口:
> docker inspect --format '{{json .Config.ExposedPorts}}' ...
{"80/tcp":{}}
但是使用 运行时docker run --publish-all
服务器无法访问。
必须使用 运行docker run --publish 80:80
。
但是,记录图像的端口的目的难道不是EXPOSE
为了让它们能够被发布而不需要明确列出吗--publish-all
?
该
--publish-all
标志发布“暴露端口到临时端口”。因此,你会得到类似这样的结果:
其中,本例中容器端口 80 被映射到主机的 32769(而不是 80)。