gpt4 book ai didi

linux - DOCKER_OPTS 在系统重启后重置

转载 作者:太空宇宙 更新时间:2023-11-04 12:31:54 25 4
gpt4 key购买 nike

我在/etc/default/docker 中指定我的 TLS 证书,如下所示:

DOCKER_OPTS="-H=unix:// --tlsverify --tlscacert=/etc/docker/mynewca.pem 
--tlscert=/etc/docker/mynewcert.pem
--tlskey=/etc/docker/mynewkey.pem -H=0.0.0.0:2376"

但是,每次我的 Docker 主机重新启动时,我的设置都会被默认值覆盖:

DOCKER_OPTS="-H=unix:// --tlsverify --tlscacert=/etc/docker/ca.pem 
--tlscert=/etc/docker/cert.pem
--tlskey=/etc/docker/key.pem -H=0.0.0.0:2376"

这意味着在重新配置 DOCKER_OPTS 并运行之前,我无法与 Docker 守护进程进行远程通信

sudo service restart docker

upstart 正在启动 Docker 守护进程,看起来/etc/init/docker.conf 的脚本部分正在覆盖 DOCKER_OPTS,尽管我找不到它从哪里获取默认值。

script
# modify these in /etc/default/$UPSTART_JOB (/etc/default/docker)
DOCKERD=/usr/bin/dockerd
DOCKER_OPTS=
if [ -f /etc/default/$UPSTART_JOB ]; then
. /etc/default/$UPSTART_JOB
fi
exec "$DOCKERD" $DOCKER_OPTS --raw-logs
end script

# Don't emit "started" event until docker.sock is ready.
# See https://github.com/docker/docker/issues/6647
post-start script
DOCKER_OPTS=
DOCKER_SOCKET=
if [ -f /etc/default/$UPSTART_JOB ]; then
. /etc/default/$UPSTART_JOB
fi

if ! printf "%s" "$DOCKER_OPTS" | grep -qE -e '-H|--host'; then
DOCKER_SOCKET=/var/run/docker.sock
else
DOCKER_SOCKET=$(printf "%s" "$DOCKER_OPTS" | grep -oP -e '(-H|--host)\W*unix://\K(\S+)' | sed 1q)
fi

if [ -n "$DOCKER_SOCKET" ]; then
while ! [ -e "$DOCKER_SOCKET" ]; do
initctl status $UPSTART_JOB | grep -qE "(stop|respawn)/" && exit 1
echo "Waiting for $DOCKER_SOCKET"
sleep 0.1
done
echo "$DOCKER_SOCKET is up"
fi
end script

哪个

最佳答案

您可能想要使用通常位于 /etc/docker/daemon.json 中的 docker 配置文件。有关配置的更多信息,请参见此处: https://docs.docker.com/engine/reference/commandline/dockerd//#daemon-configuration-file

在您的情况下,"tlscacert" 选项可能特别有用。

不过,配置文件的位置可能真的取决于操作系统和发行版(我记得著名的 Gentoo /etc/conf.d/ 目录)

关于linux - DOCKER_OPTS 在系统重启后重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43075423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com