当前位置: 首页>>技术教程>>正文


在Ubuntu上将Docker作为Daemon启动

,

问题描述

已经成功使用Docker几周了,但是今天当我遵循一组说明时,建议将以下两行添加到位于/etc/init/docker.conf的Docker配置文件中:

limit memlock unlimited unlimited
limit nofile 262144

然后,它建议使用sudo /etc/init.d/docker restart重新启动Docker。当我在Ubuntu 14.04下执行此操作时,它报告说:

  • Docker is managed via upstart, try using service docker restart

我尝试对它报告的sudo service docker restart

stop: Unknown job: docker

start: Unknown job: docker

现在我陷入了docker守护进程无法运行的困境!我尝试重新启动,但仍然无法运行,当运行像sudo docker version这样的简单操作时,我得到:

Client version: 1.2.0
Client API version: 1.14
Go version (client): go1.3.1
Git commit (client): fa7b24f
OS/Arch (client): linux/amd64
2014/10/01 09:57:45 Get http:///var/run/docker.sock/v1.14/version: dial unix /var/run/docker.sock: no such file or directory

为了解决问题,我尝试使用以下命令在命令行上启动docker守护进程:

sudo docker -d

在另一个终端窗口中,我现在能够正常运行Docker。很好,但是我如何才能使其再次正常启动?另外我注意到我有两个docker配置文件:

/etc/init/docker.conf
/etc/init/docker.io.conf

它们看起来像DUP。他们多余吗?我应该看哪一个?我两个都需要吗?

我还注意到,当我运行sudo service --status-all |grep docker时,出现了这种重复性,我同时获得了dockerdocker.io作为列出的服务。长大的。

最佳回答

有多个流行的存储库为Ubuntu提供docker软件包。软件包docker.io(最有可能)来自Ubuntu存储库。另一个受欢迎的是http://get.docker.io/ubuntu,它提供了一个软件包lxc-docker(我正在运行后者,因为它可以更快地发布更新)。确保仅安装一个软件包。不太确定移除包装是否可以正确清理。如果sudo service docker restart仍然不起作用,则可能必须在/etc /中手动清理。

次佳回答

我在14.04使用docker 1.9.1遇到了相同的问题。

即使我是root用户,使用sudo时upstart service命令也可以正常工作:

$ whoami
root
$ service docker status
status: Unbekannter Auftrag: docker

$ sudo service docker status
docker start/running, process 7394

它似乎取决于环境变量。

当成为su -的根用户时,service docker status起作用,但仅当使用su时,service docker status起作用:

$ su
Password:
$ service docker status
status: unknown job: docker
$ exit
$ su -
Password:
$ service docker status
docker start/running, process 2342

第三种回答

这个问题确实使我花费了几个小时。

我的系统是Ubuntu 14.04,我通过sudo apt-get install docker安装了docker,并输入了导致问题的其他命令。

  1. 我在Google上搜索了“未知工作:docker.io”,答案没有生效。

  2. 我在/etc/init.d/中寻找”unknown job”的原因,找不到正确的答案。

  3. 我在/etc/init.d/中寻找调试脚本的方法,但未找到正确的答案。

  4. 然后,我做了一个清洁工作:

    1. sudo apt-get remove docker.io

    2. rm find / -name "*docker*"的每个可疑文件,例如/etc/init/docker.io.conf/etc/init.d/docker.io

  5. 请遵循最新的官方文档:https://docs.docker.com/installation/,其中有许多过时的文档可能会引起误解。

最后,它解决了问题。

注意:如果您在中国,由于GFW,您可能需要设置https_proxy才能从https://get.docker.com/安装docker。

第四种回答

我知道已经回答了这个问题,但是发生在您身上的原因可能是因为您没有将用户名添加到Docker组中。

这是执行此操作的步骤:

添加docker组(如果尚不存在):

sudo groupadd docker

将连接的用户${USER}添加到docker组。更改用户名以匹配您的首选用户:

sudo gpasswd -a ${USER} docker

重新启动Docker守护程序:

sudo service docker restart

如果您使用的是Ubuntu 14.04-15.10 *,请改用docker.io:

sudo service docker.io restart

(如果您使用的是Ubuntu 16.04,则该服务将简称为”docker”)

执行newgrp泊坞窗,或注销/登录以激活对组的更改。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8263.html,未经允许,请勿转载。