【发布时间】:2019-02-06 16:07:45
【问题描述】:
我有一个软件套件(节点 Web 服务器、数据库、其他工具),我正在公司防火墙内开发,构建到 docker 映像中,并使用 docker-compose 进行部署。为了将所有软件实际安装到映像中,我需要设置环境以使用网络代理,并且还要禁用严格的 SSL 检查(因为防火墙包括 ssl 检查),不仅在环境变量方面,而且在对于npm、apt 等等。
我已经完成了所有这些工作,因此我可以在防火墙内构建并在防火墙内部署,并设置了我的 Dockerfiles 和构建脚本,以便启用所有代理/ssl 配置内容依赖于 docker @987654323 @ 通过ENV enable_proxies=$my_build_arg 设置环境变量,因此我也可以轻松跳过所有用于在防火墙外构建和部署的配置。
但是,我需要能够在防火墙内构建所有内容,并在防火墙外进行部署。这意味着如果指定了相关的--build-arg,则必须在构建时启用所有代理内容(因此可以安装所有软件包),然后在运行时使用--env enable_proxies=true 或类似的东西单独启用或禁用.
我对Docker的某些方面还比较陌生,但我的理解是,镜像运行时唯一执行的是Dockerfile中CMD条目的内容,而CMD只能执行一个命令。
有谁知道我可以/应该如何在构建和运行时像这样分离代理/ssl 设置?
【问题讨论】:
标签: docker proxy docker-compose dockerfile