AWS Mesosphere:docker守护进程的参数

我使用提供的模板在AWS中安装了Mesosphere DCOS。 现在我想重新启动所有的节点,但是将–insecure-registry参数添加到所有从节点(以及主节点),以便它们与我的dockerregistry进行通信。 所以我正在阅读最好的方法是在AWS模板的cloud-config脚本中。

因此,在AWS EC2启动configuration中,我复制了主节点的configuration,然后调整了用户数据,然后更新了自动扩展组并重新启动了主节点。 (真棒回答如何做到这一点在我如何使用Amazon EC2容器服务(ECS)不安全的dockerregistry? )

CoreOS文档build议将这些行添加到cloud-config的单元部分的末尾: https ://coreos.com/os/docs/latest/cloud-config.html

units ....Many lines here - name: docker.service drop-ins: |- - name: 50-insecure-registry.conf content: | [Service] Environment=DOCKER_OPTS='--insecure-registry="10.0.1.0/24"' 

但是,主人不会重新启动。 所以我不得不恢复我的改变。

这么多的问题:

一个。 为什么在此模板cloud-config中没有docker.service块? docker工人何时何地启动?

湾 我需要编辑flannel_docker_opts.env文件吗? 在这个云configuration中再次没有提到这样的文件。 但是在这个页面中提到: https : //coreos.com/flannel/docs/latest/flannel-config.html

特别感兴趣的是该页面的末尾:

  1. flanneld.service中的ExecStartPost将/run/flannel/subnet.env中的信息转换为Docker守护进程命令行参数(如–bip和–mtu),将它们存储在/run/flannel_docker_opts.env中。
  2. 在/run/flannel_docker_opts.env中包含docker.service源文件,其中包含带命令行选项的envvariables,并启动Docker。

事实上,我可以看到像早期的docker.service提到的文件,但在云configuration中再也没有提到法兰绒。

但是的确的,我发现上面提到的服务文件:

  /usr/lib64/udev/rules.d/80-docker.rules /usr/lib64/systemd/system/early-docker.service /usr/lib64/systemd/system/early-docker.socket /usr/lib64/systemd/system/docker.service /usr/lib64/systemd/system/docker.socket /usr/lib64/systemd/system/sockets.target.wants/docker.socket /usr/lib64/systemd/system/early-docker.target 

docker.service文件中提到/run/flannel_docker_opts.env文件,但在/ run文件夹中不存在:

vi /usr/lib64/systemd/system/docker.service

  [Unit] Description=Docker Application Container Engine Documentation=http://docs.docker.com After=docker.socket early-docker.target network.target Requires=docker.socket early-docker.target [Service] Environment=TMPDIR=/var/tmp EnvironmentFile=-/run/flannel_docker_opts.env <<<<<<<<<< HERE!!!!! MountFlags=slave LimitNOFILE=1048576 LimitNPROC=1048576 ExecStart=/usr/lib/coreos/dockerd --daemon --host=fd:// $DOCKER_OPTS $DOCKER_OPT_BIP $DOCKER_OPT_MTU $DOCKER_OPT_IPMASQ [Install] 

C。 这个docker.service文件来自哪里! 在cloud-config中没有提到它。 它是否是CoreOS架构的一部分?

d。 如果这个docker.service是CoreOS的组成部分,为什么这个/ usr / lib64path中的所有文件? CoreOS文档提到了所有文件的其他path位置。

任何build议,将不胜感激。 我现在失明了。 我将尝试创build这个不存在的flannel_docker_conf.env文件。 但我不确定我正在做什么是正确的方法。

谢谢!

Interesting Posts