如何保留用于在Docker中运行映像的选项的副本?

问题描述 投票:3回答:2

我只想弄清楚如何使用以下命令使用我自己的openapi.json文件使用Docker来运行并使用它:

docker run -p 80:8080 -e SWAGGER_JSON=/foo/openapi.json -v ~/source:/foo swaggerapi/swagger-ui

openapi.json文件在源代码管理中,可以在很多地方运行。

有没有办法让这个命令轻松重新运行,而不仅仅是把它放在自述文件中?我可以使用Dockerfile吗?或者我可以使用docker-compose吗?最重要的部分是让它变得简单,然后更容易更改/添加选项。

我也知道我可以使用一个我可以改变的bash脚本,但我想知道是否有任何Docker方法可以做到,而不是黑客。

docker swagger-ui
2个回答
1
投票

docker-compose是您完美的解决方案:

//docker-compose.yml

version: '3.7'
services:
  swagger:
    image: swaggerapi/swagger-ui
    ports:
      - "80:8080"
    environment:
      - SWAGGER_JSON=/foo/openapi.json
    volumes:
      - "~/source:/foo "

运行它,只需点击docker-compose up,你就完成了


1
投票

我更喜欢使用docker-compose进行更复杂的运行,以保留yaml文件中的所有选项。然后你需要启动容器就是docker-compose up。有关应用程序内部的更多选项,您可以使用.env文件。

我认为这是使容器运行的最清晰的方法,并且不需要任何知识来为这个环境的下一个用户/开发人员。

© www.soinside.com 2019 - 2024. All rights reserved.