Docker 安装(Install Docker Engine from binaries)

文章目录

  • 前言
  • 一、下载文件
  • 二、解压
  • 配置 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

你可能感兴趣的:(运维,docker,容器)