文章目录
- 前言
- 一、下载文件
- 二、解压
- 配置 systemd 启动(Configure the daemon with systemd)
- docker.service
- daemon.json
- 启动
- 总结
前言
使用二进制包方式安装docker 。
一、下载文件
下载地址:
https://download.docker.com/linux/static/stable/
我下载的是 docker-20.10.8.tgz
二、解压
当前账号已经有 root 权限
tar -zxvf docker-20.10.8.tgz
复制到 /usr/bin/
mv docker/* /usr/bin/
配置 systemd 启动(Configure the daemon with systemd)
docker.service
创建文件
/etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service containerd.service time-set.target
Wants=network-online.target containerd.service
# Requires=docker.socket 可以不使用[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutStartSec=0
RestartSec=2
Restart=always# Note that StartLimit* options were moved from "Service" to "Unit" in systemd 229.
# Both the old, and new location are accepted by systemd 229 and up, so using the old location
# to make them work for either version of systemd.
StartLimitBurst=3# Note that StartLimitInterval was renamed to StartLimitIntervalSec in systemd 230.
# Both the old, and new name are accepted by systemd 230 and up, so using the old name to make
# this option work for either version of systemd.
StartLimitInterval=60s# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity# Comment TasksMax if your systemd version does not support it.
# Only systemd 226 and above support this option.
# TasksMax=infinity# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes# kill only the docker process, not all processes in the cgroup
# KillMode=process
# OOMScoreAdjust=-500[Install]
WantedBy=multi-user.target
daemon.json
创建镜像地址
mkdir /home/docker
创建
/etc/docker/daemon.json
data-root 镜像地址
registry-mirrors 镜像源
{"data-root": "/home/docker","registry-mirrors": ["https://改成自己.mirror.aliyuncs.com"]
}
启动
sudo systemctl start docker
系统启动自运行
sudo systemctl enable docker.service
总结
如果修改配置文件后启动报错,
Warning: The unit file, source configuration file or drop-ins of docker.service changed on disk. Run 'systemctl daemon-reload' to reload units.
解决方式:
先运行
sudo systemctl daemon-reload