1.docker的下载和安装

1.卸载旧版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.安装需要的软件包

安装yum-utils包(提供yum-config-manager 实用程序)并设置存储库。

sudo yum install -y yum-utils

3.设置docker的yum源

官方yum源,速度非常慢,不推荐,忽略

有关yum源可以单独看一看yum的教程

# 官方的yum源
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
    
# 国内镜像(阿里源、腾讯源、清华源等等)
sudo yum-config-manager \
		--add-repo \
		http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

执行完后会在/etc/yum.repos.d/docker-ce.repo中生成一条记录

......

[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

# 这个是新增加的
[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

4.安装 Docker 引擎

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

5.启动 Docker

sudo systemctl start docker

6.把镜像库改为阿里的镜像库

6-1.配置文件daemon.json

一般安装完以后/etcdocker文件夹,没有的话直接mkdir新建一个就好了

# 创建+编辑文件
sudo vim /etc/docker/daemon.json

# 写入信息
{
  "registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"]
}

# 重启docker: 提示任何信息,就表示成功了
sudo systemctl restart docker 

# 查看状态: Active: active (running)表示正常
sudo systemctl status docker 

6-2.镜像地址

方式一:中国区官方镜像
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

方式二:网易镜像
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

方式三:中国科技大学镜像
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

6-3.docker-daemon.json各配置详解

#存储驱动程序选项
{
    "allow-nondistributable-artifacts": [], #不对外分发的产品提交的registry仓库
    "api-cors-header": "" ,         		#在引擎API中设置CORS标头
    "authorization-plugins":[],    			#要加载的授权插件
    "bridge": "" ,           				    #将容器附加到网桥
    "cgroup-parent": "" ,           		#为所有容器设置父cgroup
    "cluster-store": "" ,           		#分布式存储后端的URL
    "cluster-store-opts":{},       			#设置集群存储选项(默认map [])
    "cluster-advertise": "" ,       		#要通告的地址或接口名称
    "data-root": " /var/lib/docker " ,  #Docker运行时使用的根路径,默认/var/lib/ docker
    "debug":  true ,           				#启用调试模式,启用后,可以看到很多的启动信息。默认false
    "default-gateway": "" ,          	#容器默认网关IPv4地址
    "default-gateway-v6": "" ,       	#容器默认网关IPv6地址
    "default-runtime":"runc",       	#容器的默认OCI运行时(默认为" runc")
    "default-ulimits":{},           	#容器的默认ulimit(默认[])
    "dns": [],       						      #设定容器DNS的地址,在容器的 /etc/ resolv.conf文件中可查看。
    "dns-opts": [],                  	#容器 /etc/ resolv.conf 文件,其他设置
    "dns-search": [],         				#设定容器的搜索域,当设定搜索域为 .example.com 时,在搜索一个名为 host 的 主机时,DNS不仅搜索host,还会搜索host.example.com 。 注意:如果不设置, Docker 会默认用主机上的  /etc/ resolv.conf 来配置容器。
    "exec-opts": [],          				#运行时执行选项
    "exec-root": "" ,          				#执行状态文件的根目录(默认为’/var/run/ docker‘)
    "fixed-cidr": "" ,         				#固定IP的IPv4子网
    "fixed-cidr-v6": "" ,                   #固定IP的IPv6子网
    "group": "",                            #UNIX套接字的组(默认为"docker")
    "graph":"/var/lib/docker",              #已废弃,使用data-root代替,查看docker版本
    "hosts": [],                            #设置容器hosts
    "icc":  false ,                         #启用容器间通信(默认为true)
    "insecure-registries": [" 120.123 . 122.123 : 12312 "],   #设置私有仓库地址可以设为http
    "ip":" 0.0 . 0.0 ",                     #绑定容器端口时的默认IP(默认0. 0.0 . 0 )
    "iptables":  false ,                    #启用iptables规则添加(默认为true)
    "ipv6":  false ,                        #启用IPv6网络
    "ip-forward":  false , #默认true, 启用 net.ipv4.ip_forward ,进入容器后使用 sysctl-a | grepnet.ipv4.ip_forward 查看
    "ip-masq": false ,                      #启用IP伪装(默认为true)
    "labels":["nodeName =node-121 "],       #docker主机的标签,很实用的功能,例如定义:–label nodeName=host-121 
    "live-restore":  true ,                 #在容器仍在运行时启用docker的实时还原
    "log-driver": "" ,                      #容器日志的默认驱动程序(默认为" json-file ")
    "log-level": "" ,                       #设置日志记录级别("调试","信息","警告","错误","致命")(默认为"信息")
    "max-concurrent-downloads": 3 ,         #设置每个请求的最大并发下载量(默认为3)
    "max-concurrent-uploads": 5 ,           #设置每次推送的最大同时上传数(默认为5)
    "mtu":  0 ,                             #设置容器网络MTU
    "oom-score-adjust":-500 ,               #设置守护程序的oom_score_adj(默认值为-500 )
    "pidfile": "",                          #Docker守护进程的PID文件
    "raw-logs":  false ,                    #原始日志、全时间戳机制
    "registry-mirrors": ["https: // 192.168.2.23:89"],   #设置镜像加速地址
    "selinux-enabled":  false ,             #默认  false ,启用selinux支持
    "storage-driver": "" ,                  #要使用的存储驱动程序
    "swarm-default-advertise-addr": "" ,    #设置默认地址或群集广告地址的接口
    "tls":  true ,                          #默认  false , 启动TLS认证开关
    "tlscacert": "",                        #默认  ~/.docker/ ca.pem,通过CA认证过的的certificate文件路径
    "tlscert": "",                          #默认  ~/.docker/ cert.pem ,TLS的certificate文件路径
    "tlskey": "",                           #默认 ~/.docker/ key.pem,TLS的key文件路径
    "tlsverify":true ,                      #默认false,使用TLS并做后台进程与客户端通讯的验证
    "userland-proxy":false ,                #使用userland代理进行环回流量(默认为true)
    "userns-remap": "" ,                    #用户名称空间的用户/ 组设置
    "bip":" 192.168 . 88.0 / 22 ",          #指定网桥IP
    "storage-opts": {
    "overlay2.override_kernel_check = true ",
    "overlay2.size = 15G"
    },
 "labels":["nodeName=node-121"],            #docker主机的标签
 "live-restore": true,
 "log-driver":"",
 "log-level":"",
 "log-opts": {},
 "max-concurrent-downloads":3,
 "max-concurrent-uploads":5,
 "mtu": 0,
 "oom-score-adjust":-500,
#容器默认日志驱动程序选项 
"log-opts": {
    "max-file": "3",
    "max-size": "10m",
    },                                     
    "iptables":  false                     #启用iptables规则添加(默认为true)
} 
posted @ 2022-09-08 10:50  lxd670  阅读(163)  评论(0编辑  收藏  举报