我正在尝试使用命令运行Docker守护进程:
docker -d
但是我在控制台中收到:
unknown shorthand flag: 'd' in -d
我该如何运行Docker守护进程?
我正在尝试使用命令运行Docker守护进程:
docker -d
但是我在控制台中收到:
unknown shorthand flag: 'd' in -d
我该如何运行Docker守护进程?
如果您停止了服务,您需要以下命令来重新启动它:
$ sudo service docker start # for work with SysVinit
$ sudo systemctl start docker # for work with Systemd
同时,若要再次停止,您可以使用:
$ sudo service docker stop # for work with SysVinit
$ sudo systemctl stop docker # for work with Systemd
我认为问题是如何在分离模式下运行Docker并连接回来,假设有一个Ubuntu镜像可以尝试这样做:
sudo docker run -it -d --name myubdocker ubuntu:latest bash
它将会分离Docker,当你尝试这样做时,可以看到它在运行。
sudo docker ps
现在要如何重新连接到相同的Docker,可以通过以下命令实现(CONTAINERID将在执行docker ps时列出)。
现在要如何重新连接到相同的Docker,可以通过以下命令实现(执行docker ps命令后会列出CONTAINERID)
sudo docker exec -it <CONTAINERID> bash
这将提供一个根命令提示符(可以键入“exit”再次连接)
ArchLinux
环境中运行Docker容器。上面列出的解决方法对我没有用。
结果,我不得不运行dockerd
守护程序,这是一个“管理容器的持久进程”。您可以在此处阅读更多信息。
这些命令适合我:
$ sudo dockerd
$ sudo dockerd &
dockerd
守护程序作为后台进程运行(更有用)这些命令对我没用:
$ sudo service docker start
或$ sudo service docker restart
$ sudo systemctl start docker
我希望这可以帮助其他遇到类似问题的人。
sudo dockered
是一种可行的方法,但这是可以理解的。 - abhishah901-d
标志与docker run
命令一起使用,以分离模式运行容器。
您要查找的可能是docker-machine start:
docker-machine start [arg...]
此命令以一个或多个机器名称作为参数启动一台机器。例如:
$ docker-machine start dev
$ sudo systemctl start docker
$ sudo systemctl enable docker
P.S.
这也适用于使用systemd的其他Linux发行版。
docker
是客户端,而不是服务器(守护进程)。守护进程的名称通常以d
结尾(当然是来自 "daemon")。 - axiac