【问题标题】:Starting docker service with "sudo docker -d"使用“sudo docker -d”启动 docker 服务
【发布时间】:2015-09-06 13:15:19
【问题描述】:

我正在尝试将一些图像推送到我的注册表,但是当我尝试这样做时:

    sudo docker push myreg:5000\image

我遇到了一些错误,告诉我我需要用

启动 docker daemon
    docker -d --insecure-registry myreg:5000

所以我停止了 docker 服务,并使用上面的命令启动它,一旦我这样做,当前的 shell 窗口(ssh)就会被 docker 输出卡住,如果我关闭它,docker 服务就会停止。

我知道这很容易,但我搜索了几个小时却找不到任何东西。

谢谢

【问题讨论】:

  • 你运行的是什么 Linux 发行版?
  • 我错过了这个问题......你想完成什么?实际问题是什么?您的推送命令应该有一个正斜杠 (/) 而不是反斜杠。
  • 问题是,当我运行命令时,我将所有 docker 输出到 shell,如果我关闭它,docker 服务停止,通常 -d 应该处理它,但是它不会工作

标签: shell docker


【解决方案1】:

问题是,当我运行命令时,我将所有 docker 输出到 shell,如果我关闭它,docker 服务停止,通常 -d 应该处理它,但它不会工作

我认为这里存在混淆; 顶级 -d (docker -d) 标志在前台以守护程序模式启动 docker。这与docker run -d <image> 标志不同,后者表示“以分离模式从<image> 启动容器”。您在屏幕上看到的是守护程序输出/日志,正在等待来自 docker 客户端的连接。

回到你原来的问题;

运行docker -d --insecure-registry myreg:5000 的说明可能更清楚,但它们说明您应该更改 docker 服务的守护程序选项以包含--insecure-registry myreg:5000 选项。

根据您的系统用户(例如,upstart 或 systemd)的进程管理器,这意味着您必须编辑 /etc/default/docker 文件(请参阅 documentation),或添加一个“drop-in”文件到覆盖默认的 systemd 服务选项;见SystemD custom daemon options

一些笔记;

  • 在 docker 1.8 中不推荐使用顶级 -d 选项,取而代之的是新的 docker daemon 命令
  • 出于安全原因,不鼓励使用--insecure-registry,因为它允许与注册表进行未加密和不可信的通信。最好将您的 CA 添加到系统的受信任列表中。

【讨论】:

  • 感谢您的详细解答
猜你喜欢
  • 2023-03-09
  • 2020-06-30
  • 1970-01-01
  • 2016-12-30
  • 2016-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多