b / w“service docker start”和“docker -d”有什么区别?

时间:2015-07-17 09:04:12

标签: docker

我是docker的新手,想要重启docker守护进程。我想添加OPTS来启动docker,如:

string[] test = new string[5];
for(int x = 0; x <= test.Length - 1; x++)
{
    test[x] = "#" + (x + 1) + " element";
    If (x == "Desired index which you dont want to show")
       Console.WriteLine(test[x]);
}   

我想知道它们的区别是什么?他们是否开始做同样的事情?

顺便说一句,我只是在boot2docker中使用了上面的命令,它根本不起作用。

2 个答案:

答案 0 :(得分:3)

如果您使用service docker start,那么它将启动docker作为服务与docker的upstart配置文件,例如对于ubuntu是/etc/default/docker,对于centos是/etc/sysconfig/docker

如果使用docker -d,它将以守护进程模式运行docker。

如果你想为docker定义你自己的registry-mirror,你可以这样做:

ubuntu的

$ echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://<my-docker-mirror-host>\"" | sudo tee -a /etc/default/docker
$ sudo service docker restart

的centos

sudo sed -i 's|other_args=|other_args=--registry-mirror=http://<my-docker-mirror-host> |g' /etc/sysconfig/docker
sudo sed -i "s|OPTIONS='|OPTIONS='--registry-mirror=http://<my-docker-mirror-host> |g" /etc/sysconfig/docker
sudo service docker restart

MAC

boot2docker up
boot2docker ssh "echo $'EXTRA_ARGS=\"--registry-mirror=http://<my-docker-mirror-host>\"' | sudo tee -a /var/lib/boot2docker/profile && sudo /etc/init.d/docker restart”

然后您的docker服务使用您自己的注册表镜像运行。

答案 1 :(得分:1)

要回答你的问题(对debian / ubuntu有效,我不会有tinylinux方便测试boot2docker使用的那个):

  • service docker start将在/etc/init.d/docker
  • 中运行启动脚本
  • docker -d是上一个脚本的手动版本,当您想要在调试模式下运行docker时非常有用。我怀疑你提供的示例不会做同样的事情,因为服务脚本中指定了更多选项。
  • 如果要添加更多docker命令选项,请编辑/etc/default/docker文件

在OP的评论后更新:

要添加新开关,您需要专门编辑变量(可能已导出)DOCKER_OPTS并将选项添加到现有选项的末尾。

我的/ etc / default / docker选项是:

export DOCKER_OPTS="--tlsverify --tlscacert=/etc/docker/ca.pem 
--tlskey=/etc/docker/server-key.pem --tlscert=/etc/docker/server.pem --label=provider=XXXX 
--host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2376" 

要添加注册表镜像,我会编辑DOCKER_OPTS看起来像这样

export DOCKER_OPTS="--tlsverify --tlscacert=/etc/docker/ca.pem 
--tlskey=/etc/docker/server-key.pem --tlscert=/etc/docker/server.pem --label=provider=XXXX 
--host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2376 
--registry- mirror=192.168.59.103:5555"