如何保留 运行 Docker 图像所用选项的副本?
How do I keep a copy of the options I use to run an image in Docker?
我刚刚想出了如何使用以下命令让 swagger-ui 和 运行 Docker 使用我自己的 openapi.json 文件:
docker run -p 80:8080 -e SWAGGER_JSON=/foo/openapi.json -v ~/source:/foo swaggerapi/swagger-ui
openapi.json
文件在源代码管理中,这在很多地方可能是 运行。
除了将其放入 README 之外,还有什么方法可以使该命令易于重新运行?我可以为此使用 Docker 文件吗?或者我可以使用 docker-compose 吗?最重要的部分只是为了让它变得简单,然后在后面让它变得容易 change/add 选项。
我也知道我可以使用我可以更改的 bash 脚本,但我想知道是否有任何 Docker 方法可以做到这一点,而不是 hack。
我更喜欢使用 docker-compose 进行更复杂的运行,以将所有选项保留在 yaml 文件中。那么启动容器所需要做的就是docker-compose up
。
对于应用程序内部的更多选项,您可以使用 .env 文件。
我认为这是制作容器的最清晰的方法运行,并且不需要任何关于此环境的下一个users/developers的知识。
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
就可以了
我刚刚想出了如何使用以下命令让 swagger-ui 和 运行 Docker 使用我自己的 openapi.json 文件:
docker run -p 80:8080 -e SWAGGER_JSON=/foo/openapi.json -v ~/source:/foo swaggerapi/swagger-ui
openapi.json
文件在源代码管理中,这在很多地方可能是 运行。
除了将其放入 README 之外,还有什么方法可以使该命令易于重新运行?我可以为此使用 Docker 文件吗?或者我可以使用 docker-compose 吗?最重要的部分只是为了让它变得简单,然后在后面让它变得容易 change/add 选项。
我也知道我可以使用我可以更改的 bash 脚本,但我想知道是否有任何 Docker 方法可以做到这一点,而不是 hack。
我更喜欢使用 docker-compose 进行更复杂的运行,以将所有选项保留在 yaml 文件中。那么启动容器所需要做的就是docker-compose up
。
对于应用程序内部的更多选项,您可以使用 .env 文件。
我认为这是制作容器的最清晰的方法运行,并且不需要任何关于此环境的下一个users/developers的知识。
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
就可以了