daemon.json文件是 Docker 守护进程(daemon)的配置文件,它允许你自定义 Docker 的某些行为。这个文件通常位于 /etc/docker/ 目录下(在 Linux 系统中),但在其他操作系统(如 macOS 或 Windows)上,其位置可能会有所不同。
当你需要修改 Docker 的默认配置时(如设置镜像仓库、更改存储驱动程序、配置网络等),你可以在 daemon.json 文件中添加或修改相应的配置项。
以下是一些常见的daemon.json配置项及其解释:
1.设置 Docker 镜像仓库地址:
{ "registry-mirrors": ["https://your-mirror-url.com"] }
这允许你设置 Docker 的镜像仓库镜像地址,以便在拉取镜像时从指定的镜像仓库获取。
2. 设置存储驱动程序:
{ "storage-driver": "overlay2" }
Docker 支持多种存储驱动程序,例如devicemapper、overlay2、btrfs等。你可以根据需要选择合适的驱动程序。
3. 设置数据根目录:
{ "data-root": "/var/lib/docker-new" }
这允许你更改Docker数据的存储位置。默认情况下,Docker数据存储在 /var/lib/docker 目录下。
4. 配置 Docker 桥接网络:
{ "bridge": "none" }
或者更详细地配置:
{ "bridge": "docker0", "bip": "172.17.0.1/16", "fixed-cidr": "172.17.0.0/24", "fixed-cidr-v6": "2001:db8::/64" }
这里,bip是Docker桥的IP/子网掩码,fixed-cidr是分配给容器的IP/子网掩码。
5. 配置 DNS:
{ "dns": ["8.8.8.8", "8.8.4.4"], "dns-search": ["example.com"], "dns-options": ["ndots:5"] }
这些选项允许你配置 Docker 容器使用的 DNS 设置。
6. 配置日志驱动和选项:
{ "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } }
这里,log-driver定义了用于容器日志的驱动,而log-opts允许你为所选的日志驱动配置选项。
7. 配置 Insecure Registries:
{ "insecure-registries": ["your-insecure-registry:5000"] }
当你想从一个不安全的 HTTP 仓库(而不是 HTTPS)拉取镜像时,你可以将其添加到 insecure-registries列表中。
8. 配置 Docker Swarm 集群:
如果你在使用 Docker Swarm,你可能还需要在 daemon.json 中配置集群相关的设置。
9. 其他高级配置:
还有许多其他高级配置项可以在daemon.json中设置,具体取决于你的需求和Docker版本。
注意:在修改daemon.json文件后,你需要重启Docker守护进程以使更改生效。在 Linux上,这通常可以通过sudo systemctl restart docker命令完成。
原创文章,作者:运维侠,如若转载,请注明出处:https://www.yunweixia.com/knowledgebase/docker-daemon-json-configuration-file-key-settings-guide.html