使用systemd配置样式

时间:2015-09-18 17:58:43

标签: configuration docker config systemd

我注意到Docker文档正在逐步转向systemd初始化方法,因此也就是配置。我有点不确定你是如何添加" insecure-registry"使用systemd配置方法时,Docker的条目。

在使用Docker 1.6.1版本的同时,通过添加到文件中,我能够添加多个不安全的注册表项:

/etc/sysconfig/docker

如下所示:

INSECURE_REGISTRY='--insecure-registry myregistry.companyx.com:5010 --insecure-registry myregistry.companyx.com:5011'

并使用以下命令重新启动Docker:

sudo service docker restart

使用Docker 1.8.2我一直在寻找如何在" systemd"时尚。我最接近任何文档的是以下2页:

https://docs.docker.com/articles/systemd/
https://coreos.com/os/docs/latest/registry-authentication.html

以上两点都建议我需要将文件添加到名为:

的目录中
/etc/systemd/system/docker.service.d

这些页面中的第二个建议使用名为:

的文件
/etc/systemd/system/docker.service.d/50-insecure-registry.conf

它还谈到" #cloud-config write_files: - path:"我根本没有跟进。

我忽略了我不理解的东西并创建了一个名为:

的文件
/etc/systemd/system/docker.service.d/50-insecure-registry.conf

包含以下内容:

[Service]
Environment='DOCKER_OPTS=--insecure-registry="myregistry.companyx.com:5010"'

并使用以下命令重新启动docker:

sudo systemctl restart docker

结果让我觉得是时候回家了。我想添加多个不安全的注册表项,但还没有想出如何做到这一点。此外,我对单一条目的成功充满信心还有很长的路要走。

STUFF added 2 days later

在页面的帮助下:

http://nknu.net/how-to-configure-docker-on-ubuntu-15-04/

我在使用放入目录中的文件配置Docker方面取得了一些进展:

/etc/systemd/system/docker.service.d

我失踪的是一个覆盖默认值的条目:

[Service]
ExecStart=/usr/bin/docker -d -H fd://

我是通过在文件中创建一个额外的drop来实现的,这个名为:

docker_systemd_workaround.conf

它包含:

[Service]
# workaround to include default options
ExecStart=
ExecStart=/usr/bin/docker -d -H fd:// $DOCKER_OPTS

这样,不再忽略设置DOCKER_OPTS的文件中另一个丢弃的内容。我不认为这是一个接近完整解决方案的东西,但它确实解决了我试图添加"不安全注册表"条目。

2 个答案:

答案 0 :(得分:1)

扩展了我对可读性的评论

问题

无法连接到远程不安全的存储库。无法在启动时将“insecure_repository”添加到docker选项。

Ubuntu 16.04 LTS上使用通过软件包管理器安装的docker

解决方案

1。验证docker是否受systemd控制

/etc/systemd/system/docker.service.d/insecure_repository.conf应返回运行docker服务的详细信息。您可以在已加载

下查看其使用的默认设置

2。添加不安全的存储库systemd conf文件

此文件将加载DOCKER_OPTS env变量。

[Service] Environment='DOCKER_OPTS=--insecure-registry="myregistryserver.mydomain.com:5000"'

创建文件

添加文件内容:

/etc/systemd/system/docker.service.d/docker-systemd-workaround.conf

3。添加docker systemd变通方法conf文件

此文件将修改ExecStart以使用DOCKER_OPTS环境变量。

[Service] ExecStart= ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS

创建文件

添加文件内容:

$sudo systemctl daemon-reload

4。重载

$sudo service docker restart

$docker info

5。验证

$systemctl status docker应包含不安全注册管理机构 myregistryserver.mydomain.com:5000

<screen> xyz </screen> blah blah <screen> abc </screen> 应该在 Drop-In:标题下包含您的systemd配置(也称为drop-ins)。您还应该在 CGroup:标题下看到修改过的ExecStart。

答案 1 :(得分:0)

我遇到了类似的问题,经过多年的努力才发现这个blog.

基本上按照以下步骤操作:

sudo vi /etc/systemd/system/docker.service.d/docker.conf和 添加以下内容:

[Service] 
#You need the below or you 'ExecStart=' or you will get and error 'Service has more than one ExecStart= setting, which is only allowed'
ExecStart= 
ExecStart=/usr/bin/docker daemon -H fd://
ExecStart=/usr/bin/docker daemon -H fd:// --insecure-registry youregistry.mydomain.com:5000

最后:

  • sudo systemctl daemon-reload
  • sudo systemctl restart docker