加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

从守护程序配置文件设置docker容器环境

发布时间:2020-12-16 03:23:44 所属栏目:安全 来源:网络整理
导读:问题:是否可以从Docker守护程序配置文件设置Docker容器环境? 运行容器时,我们可以使用-e标志设置容器内的特定环境变量,例如docker run -e foo = bar. 但是可以配置Docker守护程序文件(例如/ etc / default / docker或/ etc / sysconfig / docker),那么每个

问题:是否可以从Docker守护程序配置文件设置Docker容器环境?

运行容器时,我们可以使用-e标志设置容器内的特定环境变量,例如docker run -e foo = bar.

但是可以配置Docker守护程序文件(例如/ etc / default / docker或/ etc / sysconfig / docker),那么每个Docker容器都可以具有相同的env foo = bar而不是使用-e标志.

[root@i-7guzl6d7 ~]# cat /etc/sysconfig/docker
# Docker Upstart and SysVinit configuration file

# Customize location of Docker binary (especially for development testing).
#DOCKER="/usr/local/bin/docker"

# Use DOCKER_OPTS to modify the daemon startup options.
#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"

# If you need Docker to use an HTTP proxy,it can also be specified here.
#export http_proxy="http://127.0.0.1:3128/"

# This is also a handy place to tweak where Docker's temporary files go.
#export TMPDIR="/mnt/bigdrive/docker-tmp"

# Set container environment here?
# export FOO=BAR
最佳答案
不,目前没有这样的选择,但是,有一些选择可以实现这一目标.

使用Bash功能

您可以创建一个简单的bash function来自动设置这些环境变量.

例如;此Bash函数将在docker run上自动设置foo = bar和bar = baz环境变量.其他docker命令按原样传递.

function docker() { case $* in run* ) shift 1; command docker run -e foo=bar -e bar=baz "$@" ;; * ) command docker "$@" ;; esac }

您可以在外壳程序中运行以上代码行以加载该功能,或者将其添加到?/ .bash_profile,?/ .bash_login或?/ .profile中,以在打开新外壳程序时自动加载该功能.

使用Docker Compose

有人建议为默认选项实现一个配置文件(请参见https://github.com/docker/docker/issues/7232),但是为了支持Docker Compose而关闭了该文件.

看一下docker compose看看是否适合您的用例. Docker Compose允许您创建一个YAML文件,该文件定义了您的“项目”-应该启动以运行项目的所有容器,以及如何配置它们. Compose在docker-compose.yml文件中支持变量替换,该文件允许您在shell中设置在docker-compose.yml内部使用的环境变量;在这里查看该功能的文档; https://docs.docker.com/compose/compose-file/#variable-substitution

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读