docker - 在 docker-compose 中更改 Swagger 端口
问题描述
我无法更改 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
推荐阅读
- android - 在 Java 中使用 Gradle Play Publisher 的版本名称覆盖
- c - C#define 中的常数公式是否会影响效率?
- html - 如何在标签内获取img alt的文本
- c# - 将字符串转换为标准 c# 日期时间
- mfc - 使用 CProgressCtrl::SetRange32 增加范围
- download - 打开 suse 添加存储库
- ios - UICollectionView 多次使用的最佳实践
- html - 为什么我的html页面顶部有边框
- ada - 如何将无界字符串转换为整数?
- c# - 如何列出在运行时使用 MakeGenericType 创建的程序集或命名空间中的类型?