Linux安装docker及配置

260 阅读1分钟

在线安装

  • 卸载原有docker
 sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  • 安装 yum-utils
sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
  • 设置仓库
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 安装
sudo yum install docker-ce docker-ce-cli containerd.io
  • 启动/关闭/重启
#启动
systemctl start docker
#关闭
systemctl stop docker
#重启
systemctl restart docker

离线安装

  • 下载离线包 地址.
  • 这里下载的是 docker-20.10.4.tgz
  • 将下载的文件上传到服务器上,并解压
 tar -zxvf docker-20.10.4.tgz
  • 复制文件到/usr/bin
 cp docker/* /usr/bin/
  • 编辑docker.service
vim /etc/systemd/system/docker.service
  • 写入以下内容
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[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
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
Uncomment TasksMax if your systemd version supports it.
Only systemd 226 and above support this version.
asksMax=infinity
TimeoutStartSec=0
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
restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
  • 启动
sudo dockerd &

修改镜像源

  • 编辑 daemon.json
vim /etc/docker/daemon.json
  • 写入以下内容
{
    "registry-mirrors":["https://pb5bklzr.mirror.aliyuncs.com","https://docker.mirrors.ustc.edu.cn"]
}
  • 重新启动docker