首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用systemd控制和配置Docker(引擎) | Control and configure Docker with systemd (Engine)

许多 Linux 发行版使用 systemd 来启动 Docker 守护进程(daemon)。本文档展示了一些如何定制 Docker 设置的例子。

启动 Docker 守护进程(daemon)

手动启动

一旦安装了 Docker,您将需要启动 Docker 守护进程。大多数 Linux 发行版都用systemctl来启动服务。如果您没有systemctl,请使用service命令。

  • systemctl:$ sudo systemctl启动docker
  • service

$ sudo service docker start

在系统启动时自动启动

如果您希望 Docker 在启动时启动,请参阅配置 Docker 以在启动时启动。

自定义 Docker 守护进程(daemon)选项

有很多方法可以为你的 Docker 守护进程(daemon)配置守护进程标志和环境变量。推荐的方法是使用平台无关daemon.json文件,该文件默认位于Linux上/etc/docker/。请参阅守护程序(Daemon)配置文件。

您可以使用daemon.json配置几乎所有守护程序配置选项。以下示例配置了两个选项。您无法使用daemon.json机制配置的一件事是 HTTP 代理。

运行时间目录和存储驱动程序

您可能希望通过将 Docker 映像,容器和卷移动到单独的分区来控制用于 Docker 映像,容器和卷的磁盘空间。

要完成此操作,请在daemon.json文件中设置以下标志:

代码语言:javascript
复制
{
    "graph": "/mnt/docker-data",
    "storage-driver": "overlay"
}

http/HTTPS 代理

Docker 守护程序(daemon)使用HTTP_PROXYHTTPS_PROXY以及NO_PROXY环境变量在其启动环境来配置 HTTP 或 HTTPS 代理的行为。您无法配置

这些环境变量使用daemon.json文件。

此示例覆盖默认docker.service文件。

如果您位于 HTTP 或 HTTPS 代理服务器的后面,例如在公司设置中,则需要在 Docker systemd 服务文件中添加此配置。

1. 为 docker 服务创建一个 systemd 放置目录:

$ mkdir -p /etc/systemd/system/docker.service.d

2. 创建一个名为/etc/systemd/system/docker.service.d/http-proxy.conf的文件,添加HTTP_PROXY环境变量:

Service Environment="HTTP_PROXY=http://proxy.example.com:80/"

或者,如果您位于 HTTPS 代理服务器的后面,请创建一个名为/etc/systemd/system/docker.service.d/https-proxy.conf的文件以添加HTTPS_PROXY环境变量:

Service Environment="HTTPS_PROXY=https://proxy.example.com:443/"

1. 如果您有内部Docker注册表,您需要联系而无需代理,则可以通过NO_PROXY环境变量指定它们:

Environment =“HTTP_PROXY = http://proxy.example.com:80/”“NO_PROXY = localhost,127.0.0.1,docker -registry.somecorporation.com“

或者,如果您位于HTTPS代理服务器之后:

Environment =”HTTPS_PROXY = https://proxy.example.com:443/“”NO_PROXY = localhost,127.0.0.1,docker-registry.somecorporation .COM”

2. 冲洗更改:

$ sudo systemctl 守护进程重新加载

3. 重新启动Docker:$ sudo systemctl restart docker

4. 验证已加载配置:

$ systemctl show --property =环境docker Environment = HTTP_PROXY = http://proxy.example.com:80/

或者,如果您位于HTTPS代理服务器的后面:

$ systemctl show --property =Environment docker = HTTPS_PROXY = https://proxy.example.com:443/

手动创建 systemd 单元文件

在没有包的情况下安装二进制文件时,您可能需要将 Docker 与 systemd 集成。为此,将两个单元文件(servicesocket)从 github 存储库安装/etc/systemd/system

扫码关注腾讯云开发者

领取腾讯云代金券