AWS Mesosphere:docker守护程序的参数

时间:2015-10-01 01:21:56

标签: amazon-ec2 docker mesosphere flannel

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

因此,在AWS EC2启动配置中,我复制了主节点的配置,然后调整了用户数据,然后更新了自动缩放组并重新启动了主节点。 (很棒的答案如何在How do I use insecure docker registries with Amazon EC2 Container Service (ECS)?

结束时这样做

根据CoreOS docs的建议,这些行被添加到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块?码头工人如何以及何时开始?

湾我是否需要编辑flannel_docker_opts.env文件?同样在这个cloud-config中没有提到这样的文件。但是在这个页面中提到: 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. dockr.service来源于/run/flannel_docker_opts.env,其中包含带命令行选项的env变量,并使用它们启动Docker。
  3. 事实上我可以看到像early-docker.service这样的文件,但是在cloud-config中再没有提到flannel。

    但实际上我找到了上面页面中提到的服务文件:

     /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
    

    实际上/run/flannel_docker_opts.env文件在docker.service文件中提到,但在/ 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]
    

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

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

    任何建议都将不胜感激。我现在失明了。我将尝试创建这个不存在的flannel_docker_conf.env文件。但我不确定我所做的事情是否正确。

    谢谢!

0 个答案:

没有答案