用户登录
用户注册

分享至

云计算核心技术Docker教程:Docker 守护进程dockerd运行时执行选项

  • 作者: 较劲_麻黄素
  • 来源: 51数据库
  • 2021-10-15

Docker守护进程依赖于 OCI兼容的运行(通过调用containerd后台程序)作为其接口Linux内核namespaces,cgroups以及SELinux。

默认情况下,Docker守护程序会自动启动containerd。如果要控制containerd启动,请手动启动containerd并containerd使用该--containerd标志将路径传递到socket。例如:

$ sudo dockerd --containerd /var/run/dev/docker-containerd.sock

可以通过配置文件或使用--add-runtime命令行参数在守护程序中注册运行时。

以下是通过配置添加2个运行时的示例:

{

           "default-runtime": "runc",

           "runtimes": {

                            "runc": {

                                    "path": "runc"

                             },

                           "custom": {

                                       "path": "/usr/local/bin/my-runc-replacement",

                                       "runtimeArgs": [

                                              "--debug"

                                      ]

                          }

           }

}

这是通过命令行的相同示例:

$ sudo dockerd --add-runtime runc=runc --add-runtime custom=/usr/local/bin/my-runc-replacement

您可以使用--exec-opt标志指定的选项来配置运行时。所有标志的选项都有native前缀。单个native.cgroupdriver选项可用。

该native.cgroupdriver选项指定了容器cgroup的管理。您只能指定cgroupfs或systemd。如果您指定 systemd它不可用,则系统会出错。如果省略该 native.cgroupdriver选项, cgroupfs则使用。

本示例将设置cgroupdriver为systemd:

$ sudo dockerd --exec-opt native.cgroupdriver=systemd

设置此选项适用于守护程序启动的所有容器。

Windows容器也将其--exec-opt用于特殊目的。Docker用户可以以此指定默认的容器隔离技术,例如:

> dockerd --exec-opt isolation=hyperv

将成为hypervWindows上的默认隔离技术。如果在守护程序启动时未指定隔离值,则在Windows客户端上,默认值为 hyperv,在Windows服务器上,默认值为process。

软件
前端设计
程序设计
Java相关