在 docker-compose 中更改 Swagger 端口

问题描述 投票:0回答:1

我无法更改 Swagger 在 docker compose 中使用的端口。它与常规 docker 一起工作得很好,我只需在运行命令上设置 -p 参数即可。看来我只需要在 docker-compose 文件中设置 ports 字段即可。但无论我怎么尝试,它都只能在 8080 上运行。

我正在使用最新版本的 docker 和 docker-compose。 docker 镜像称为 swaggerapi/swagger-ui。我尝试设置容器的端口字段。还尝试在 swagger 定义文件中设置 url 变量。尝试更改暴露端口。我尝试使用 docker-compose run 命令,它可以让您启动单个服务并具有 -p 参数。依然没有。

理想情况下我应该使用它来构建和运行:

sudo docker-compose up --build --force-recreate

我的撰写文件:

version: '3'
services:


  swagger:
    build: swagger
    network_mode: "host"
    ports:
      - "8081:8080"
    env_file: .env
    environment:
      - SWAGGER_JSON=/swagger.json

volumes:
  data:
    driver: "local"

以及 swagger 服务的 docker 文件:

FROM swaggerapi/swagger-ui

EXPOSE 8081

COPY swagger.json /swagger.json

ENV SWAGGER_JSON "/swagger.json"

无论我做什么都不会改变端口。

docker docker-compose swagger
1个回答
0
投票

只需更改 docker-compose 文件中的端口

swagger:
    build: swagger
    network_mode: "host"
    ports:
      - "8081:"**Port which you want to expose**"
    env_file: .env
    environment:
      - SWAGGER_JSON: /swagger.json
© www.soinside.com 2019 - 2024. All rights reserved.