ubuntu – Docker守护程序标志被忽略

前端之家收集整理的这篇文章主要介绍了ubuntu – Docker守护程序标志被忽略前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
环境:

> OS:debian 8.0.0-amd64,ubuntu-15.04,16.04
> Docker:1.x.x

程序:

我更改了/ etc / default / docker以添加私有docker注册表,然后我重新启动了docker服务,最后尝试拉出一些图像.

  1. $cat /etc/default/docker
  2. DOCKER_OPTS="--insecure-registry mydocker-registry.net:5000"
  3.  
  4. $service docker restart
  5.  
  6. $docker pull mydocker-registry.net:5000/testdb
  7. FATA[0000] Error: v1 ping attempt Failed with error: Get https://mydocker-
  8. registry.net:5000/v1/_ping: dial tcp: lookup mydocker-registry.net: no
  9. such host. If this private registry supports only HTTP or HTTPS with an
  10. unknown CA certificate,please add `--insecure-registry mydocker-
  11. registry.net:5000` to the daemon's arguments. In the case of HTTPS,if
  12. you have access to the registry's CA certificate,no need for the flag;
  13. simply place the CA certificate at /etc/docker/certs.d/mydocker-
  14. registry.net:5000/ca.crt

ps输出显示DOCKER_OPTS环境var.

  1. $ps auxwww|grep docker
  2. root 6919 0.0 0.1 331076 19984 ? Ssl 10:14 0:00 /usr/bin/docker -d -H fd://

题:

根据docker文档,使用私有注册表的方法是通过/ etc / default / docker中的DOCKER_OPTS.为什么在这样做之后,它在这种环境中不起作用?

笔记:

> DNS正确解析了私有注册表主机名.

推荐方式Docker 17.xx

有许多方法可以为Docker守护程序配置守护程序标志和环境变量. recommended way将使用独立于平台的daemon.json文件,该文件默认位于Linux上的/ etc / docker /中.

因此,要配置不安全的注册表,请执行以下操作:

>在/etc/docker/daemon.json文件中设置以下标志:

  1. {
  2. "insecure-registries": ["mydocker-registry.net:5000"]
  3. }

>重启Docker

  1. $sudo systemctl restart docker

每次都更容易!

以前推荐的Docker 1.12方式

根据docker documentation,为Docker守护程序配置守护程序标志和环境变量的推荐方法是使用systemd drop-in文件.

因此,对于这种特定情况,请执行以下操作:

>使用以下内容创建名为/etc/systemd/system/docker.service.d/private-registry.conf的文件

If not exists,create directory /etc/systemd/system/docker.service.d

  1. [Service]
  2. ExecStart=
  3. ExecStart=/usr/bin/dockerd --insecure-registry mydocker-registry.net:5000

>冲洗变化:

  1. $sudo systemctl daemon-reload

>重启Docker:

  1. $sudo systemctl restart docker

瞧!

不推荐的方式

编辑文件/lib/systemd/system/docker.service

  1. ...
  2. [Service]
  3. ExecStart=/usr/bin/docker -d -H fd:// $DOCKER_OPTS
  4. ...
  5. EnvironmentFile=-/etc/default/docker
  6. ...

后执行

  1. systemctl daemon-reload
  2. systemctl restart docker

验证是否已加载/ etc / default / docker

  1. ps auxwww | grep docker
  2. root 4989 0.8 0.1 265540 16608 ? Ssl 10:37 0:00 /usr/bin/docker -d -H fd:// --insecure-registry

而已.

猜你在找的Ubuntu相关文章