Docker-daemon.json解释

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们在上一章,讲了虚拟化,虚拟化是把硬件虚拟化,然后创建出来的虚拟机完全隔离,而Docker则是软件(内核)虚拟化,他的隔离性会低于虚拟机。我们将通过3-4周来讲解Docker相关内容,由于涉及到内容较多,就不一一列出来具体的细节,主要从以下几个方面来讲解:

Docker基本情况(本小节属于)

Docker基本命令

Dockerfile

Docker镜像

Docker仓库

Docker原理

Docker网络&存储&日志

Docker-Compose

Docker番外篇

我们通过上一小节介绍了docker的相关信息,那我们如何修改上面的信息呢,比如数据存储目录从默认的/var/lib/docker改到我们独立的磁盘目录。还比如docker安装完成以后要使用,肯定要下载镜像,而目前国内网络环境并不能直接下载docker镜像,必须通过加速器方式来下载镜像,而这些都可以通过daemon.json文件来实现。

1.无法下载镜像

解决方法

以前这个办法主要是用于加速,毕竟这个下载需要去国外下载。目前这个则用于下载镜像,但是需要找到可用的地址,大部分地址都已经失效。

csharp 复制代码
# 注意,这里只是提供方法,该地址已经已经失效使用
# 只要找到对应的地址即可使用
[root@localhost ~]# cat /etc/docker/daemon.json
 {"registry-mirrors": [    "https://docker.m.daocloud.io"]}
# 修改以后需要重启docker服务,其他修改也需要重启服务
systemctl restart docker

修改以后,查看docker info,可以看到我们配置的地址,其他修改在docker info里面也是可以看到的。

ruby 复制代码
# 推荐大家参考这个方法去下载,基本持续有效。
https://docs.daocloud.io/community/mirror/

2.修改Docker的目录

注:这个修改会丢失所有容器和镜像,建议初始修改,后期就不要修改。

csharp 复制代码
# 测试版本 Version:    26.1.4
[root@localhost ~]# cat /etc/docker/daemon.json 
{    "data-root": "/data"}

3.无法下载http的镜像

docker默认无论是上传(push),还是下载镜像(pull),都是使用https通信,但是如果我们自建仓库如果是http的(docker提供的仓库默认就是http),则默认不被docker信任,则需要修改让他信任。

csharp 复制代码
[root@localhost ~]# cat /etc/docker/daemon.json 
{    "insecure-registries": ["192.168.31.43:5000"]}

4.不信任的https证书

如果我们配置了https,但是这个证书是自签的,如果放到浏览器里面就会有安全提示,docker也不能进行上传和下载,这个配置修改和第三个修改问题是一样的。也就是这个insecure-registries配置可以同时满足http和不信任证书问题。

当然,daemon.json能够实现的功能,肯定不仅仅只有这么几个,还支持更多的比如修改日志保存的方式,容量大小等内容,这个我们后期讲docker日志的时候单独在讲。

csharp 复制代码
#也可以多个功能同时使用#多个功能用逗号隔开,最后一个参数没有逗号
[root@localhost ~]# cat /etc/docker/daemon.json 
{    "insecure-registries": ["192.168.31.43:5000"], 
   "registry-mirrors": ["https://docker.m.daocloud.io"],
    "data-root": "/data"
}

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

相关推荐
A.A呐13 分钟前
【Linux第三章】vim
linux·vim
小声读源码19 分钟前
【部署】win10的wsl环境下调试dify的api后端服务
vscode·python·docker·uv·dify·remote-ssh·pyenv
d0ublεU0x0021 分钟前
【生存技能】ubuntu 24.04 如何pip install
linux·ubuntu·pip
Javis21135 分钟前
【Linux高级全栈开发】2.1高性能网络-网络编程——2.1.1 网络IO与IO多路复用——select/poll/epoll
linux·运维·网络
画中有画37 分钟前
一种安全不泄漏、高效、免费的自动化脚本平台
运维·安全·自动化·自动化脚本
suyukangchen44 分钟前
深入理解 Linux 阻塞IO与Socket数据结构
linux·数据结构·python
yong15858553431 小时前
[SIGPIPE 错误] 一个 Linux socket 程序,没有任何报错打印直接退出程序
linux·服务器·网络·c++
南隅。2 小时前
【Linux】用户管理
linux
撸码到无法自拔3 小时前
云计算-私有云-私有云服务运维
运维·云计算
云边有个稻草人3 小时前
【Linux系统】第四节—详解yum+vim
linux·vim·yum·软件包管理器·linux软件生态·linux编辑器-vim使⽤·yum具体操作