使用 Dockerfile 构建映像时如何指定要映射到主机上的端口

How to specify the port to map to on the host machine when you build the image wiith Dockerfile

当我从命令行 运行 Docker 执行以下操作时:

docker run -it -d --rm --hostname rabbit1 --name rabbit1 -p 127.0.0.1:8000:5672 -p 127.0.0.1:8001:15672 rabbitmq:3-management

我使用 -p 发布端口以查看主机上的连接。 如何使用 Docker 文件自动执行此操作?

Dockerfile 提供了用于构建 docker 映像的说明。

docker run 命令提供了用于 运行 来自 docker 图像的容器的指令。

How can I do this automatically with a Dockerfile

你不知道。

端口发布是您仅在启动容器时配置的内容。

您不能在 Docker 文件中指定端口,但您可以使用 docker-compose 来实现。

Docker Compose 是 运行 多容器应用程序的工具 Docker。

docker-compose.yml 端口示例:

version: "3.8"
services :
  rabbit1:
    image : mongo
    container_name : rabbitmq:3-management
    ports: 
      - 8000:5672
      - 8001:15672