Docker守护程序的名称是什么?

时间:2017-02-24 19:22:38

标签: linux docker virtualbox macos-sierra developer-tools

我正在运行Docker on macOS。这意味着我正在使用VirtualBox在Linux虚拟机上运行Docker。这是对的吗?

从macOS我无法看到docker守护进程,因为它没有在我的macOS机器上运行:

$ ps aux | grep docker
max               4873   0.0  0.0  2432804   1732 s001  R+   11:12AM   0:00.00 grep --color=auto docker

但是,如果我进入linux虚拟机(名为default),那么我可以看到与docker相关的进程:

$ docker-machine ssh default
                        ##         .
                  ## ## ##        ==
               ## ## ## ## ##    ===
           /"""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
           \______ o           __/
             \    \         __/
              \____\_______/
 _                 _   ____     _            _
| |__   ___   ___ | |_|___ \ __| | ___   ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__|   <  __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
Boot2Docker version 1.13.1, build HEAD : b7f6033 - Wed Feb  8 20:31:48 UTC 2017
Docker version 1.13.1, build 092cba3
docker@default:~$ ps aux | grep docker
root      2360  0.0  0.0   9752   108 ?        Ss   18:43   0:00 /sbin/udhcpc -b -i eth1 -x hostname boot2docker -p /var/run/udhcpc.eth1.pid
root      2372  0.0  0.0   9752   116 ?        Ss   18:43   0:00 /sbin/udhcpc -b -i eth0 -x hostname boot2docker -p /var/run/udhcpc.eth0.pid
root      2374  0.0  0.2  16060  2296 ?        S    18:43   0:00 ntpd -d -n -p 0.boot2docker.pool.ntp.org -p 1.boot2docker.pool.ntp.org -p 2.boot2docker.pool.ntp.org -p 3.boot2docker.pool.ntp.org
root      2673  0.1  4.3 397800 44680 ?        Sl   18:43   0:02 /usr/local/bin/dockerd -D -g /var/lib/docker -H unix:// -H tcp://0.0.0.0:2376 --label provider=virtualbox --tlsverify --tlscacert=/var/lib/boot2docker/ca.pem --tlscert=/var/lib/boot2docker/server.pem --tlskey=/var/lib/boot2docker/server-key.pem -s aufs
root      2679  0.0  1.2 351496 12824 ?        Ssl  18:43   0:01 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc --debug
root      3744  0.0  0.4  26428  4512 ?        Ss   19:13   0:00 sshd: docker [priv]
docker    3746  0.0  0.2  26428  2764 ?        S    19:13   0:00 sshd: docker@pts/0
docker    3747  0.0  0.2  11868  2244 pts/0    Ss   19:13   0:00 -sh
docker    3784  0.0  0.1  13040  1696 pts/0    R+   19:13   0:00 ps aux
docker    3785  0.0  0.0   9756   916 pts/0    S+   19:13   0:00 grep docker

从与Docker相关的进程列表中,哪一个是从图像创建容器的docker守护进程,我通过docker cli提供它?

例如,当我跑:

$ docker run dockerinaction/hello_world
hello world

以下事件发生了:

enter image description here

但我不认为这是关于macOS的整个故事。在某个地方docker cli需要与一个存在于linux虚拟机中的守护进程交谈。它是哪个守护进程?

此外,virtualbox守护程序的名称是什么?当我为它执行case-insensitive grep时,我得到了大约5个进程:

$ ps aux | grep -i virtual
max               2307   1.6  6.7  3121608 558400   ??  S    10:42AM   1:28.47 /Applications/VirtualBox.app/Contents/MacOS/VBoxHeadless --comment default --startvm f4d0a6c5-768a-4979-a757-333ac0b99fd6 --vrde config
max               1845   0.1  0.2  2514936  17688   ??  S    10:39AM   0:07.64 /Applications/VirtualBox.app/Contents/MacOS/VBoxSVC --auto-shutdown
max               2308   0.0  0.1  2467048  10172   ??  S    10:42AM   0:00.10 /Applications/VirtualBox.app/Contents/MacOS/VBoxNetDHCP --ip-address 192.168.99.6 --lower-ip 192.168.99.100 --mac-address 08:00:27:CA:19:58 --netmask 255.255.255.0 --network HostInterfaceNetworking-vboxnet3 --trunk-name vboxnet3 --trunk-type netadp --upper-ip 192.168.99.254
max               1843   0.0  0.1  2459396   9892   ??  S    10:39AM   0:02.69 /Applications/VirtualBox.app/Contents/MacOS/VBoxXPCOMIPCD
max               1841   0.0  0.8  2681980  70140   ??  S    10:39AM   0:04.69 /Applications/VirtualBox.app/Contents/MacOS/VirtualBox
max               5728   0.0  0.0  2433828   1928 s001  S+   12:48PM   0:00.00 grep --color=auto -i virtual

1 个答案:

答案 0 :(得分:1)

  

我在macOS上运行Docker。这意味着我真的在使用VirtualBox的Linux虚拟机上运行Docker。这是对的吗?

  

从docker相关进程列表中,哪一个是docker守护进程,它是从图像创建容器的,我是通过docker cli给出的?

Docker守护程序是docker-containerd进程(pid 2679)。