我无法更改 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-compose 文件中的端口
swagger:
build: swagger
network_mode: "host"
ports:
- "8081:"**Port which you want to expose**"
env_file: .env
environment:
- SWAGGER_JSON: /swagger.json