在docker-compose

时间:2019-02-13 19:38:38

标签: docker docker-compose swagger

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

我正在使用最新版本的docker和docker-compose。泊坞窗映像称为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"

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

1 个答案:

答案 0 :(得分: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