用systemd 修改/etc/docker/daemon.json的命令
时间: 2024-10-08 18:06:30 浏览: 26
在Linux系统中,特别是在使用systemd管理Docker服务的情况下,如果你想通过`daemon.json`配置文件修改Docker的行为,通常不需要直接编辑这个文件,因为systemd会自动管理和保护`/etc/docker/daemon.json`。然而,你可以创建一个名为`docker.service`的单元文件(unit file),在这个文件中指定你的配置,然后用systemctl来更新。
首先,创建一个新的`docker.service`文件,比如在 `/etc/systemd/system/docker.service.d/override.conf`,内容可以类似:
```bash
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon \
--config-file /path/to/your/custom/daemon.json
```
这里,`/path/to/your/custom/daemon.json`需要替换为你实际存放自定义配置的路径。
接下来,重启或激活Docker服务使其应用新配置:
```bash
sudo systemctl daemon-reload
sudo systemctl restart docker
```
这样,Docker将读取`/path/to/your/custom/daemon.json`而不是默认的`/etc/docker/daemon.json`。
相关问题
查看/etc/docker/daemen.json发现exec-opts属性中的native.cgroupdriver=systemd,将systemd修改为cgroupfs
您可以按照以下步骤修改`/etc/docker/daemon.json`中的`exec-opts`属性中的`native.cgroupdriver`为`cgroupfs`:
1. 打开终端并以root用户身份登录到系统。
2. 执行以下命令打开`/etc/docker/daemon.json`文件:
```
nano /etc/docker/daemon.json
```
3. 找到`exec-opts`属性,如果没有则在该文件中添加以下内容:
```
{
"exec-opts": ["native.cgroupdriver=cgroupfs"]
}
```
4. 将`native.cgroupdriver`的值从`systemd`修改为`cgroupfs`。
5. 保存并关闭文件。
6. 重启Docker守护进程:
```
systemctl restart docker
```
现在,Docker将使用`cgroupfs`作为默认的Cgroup驱动程序。
/etc/docker
`/etc/docker` 是Linux系统中Docker配置文件的默认目录,它包含一系列关键配置文件,用于管理和定制Docker的行为。以下是一些重要的配置文件及其用途:
1. **docker daemon.json**: 这个文件定义了运行Docker守护进程时使用的全局配置选项。例如,你可以在这里设置资源限制、网络配置等[^4]。
```json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "10m"
}
}
```
2. **config.json**: Docker 1.13及更高版本引入了这个文件,用于存储镜像的配置信息,如证书和TLS密钥[^5]。
3. **daemon.json**: 可以用来配置特定主机上的Docker守护进程,而不是全局配置[^6]。
4. **iptables.rules**: 可选的文件,用于自定义iptables规则,影响Docker容器网络配置[^7]。
要查看或编辑这些文件,通常需要root权限,可以使用命令如`sudo nano /etc/docker/daemon.json`。请注意,对这些文件的修改可能会影响到Docker的运行,因此操作时需谨慎。