首页 > 解决方案 > Docker 只在 80 端口上运行

问题描述

我无法在端口 4000 上运行我的 docker 映像,即使我可以在端口 80 上运行它。我在这里做错了什么?

FROM node:latest as build
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
FROM nginx:latest
COPY --from=build /usr/src/app/dist/admin /usr/share/nginx/html
EXPOSE 4200

我正在使用以下命令创建图像:

docker build --pull --rm -f "DockerFile" -t admin1:v1 "."

当我在端口 80 上运行它时,我可以使用它:

docker run --rm -d -p 4200:4200/tcp -p 80:80/tcp admin1:v1

但是,当我运行以下命令时,我无法使用它:

docker run --rm -d -p 4200:4200/tcp -p 4000:4000/tcp admin1:v1

我在网上研究过类似的问题,但我无法解决问题。任何建议将不胜感激!

标签: dockernginx

解决方案


您需要将 docker 容器端口映射到 docker 主机端口。

试试下面的命令

docker run --rm -d -p 4200:4200/tcp -p 4000:80/tcp admin1:v1

以下是 Docker 文档的摘录

-p 8080:80  Map TCP port 80 in the container to port 8080 on the Docker host.

您可以参考链接以获取更多信息。 Docker 文档


推荐阅读