二、安装docker

于2021年9月25日重新编辑

与2021年10月26日重新编辑

一、安装docker

这里介绍yum源安装,二进制安装,离线安装docker三种方式。

1.1 yum源安装

1. 卸载旧版本

yum remove docker 
docker-client 
docker-client-latest 
docker-common 
docker-latest 
docker-latest-logrotate 
docker-logrotate 
docker-engine 
docker-ce

rm -rf /var/lib/docker

2.安装必备软件包

yum install -y yum-utils 
  device-mapper-persistent-data 
  lvm2

3.设置yum源

#建议使用阿里源
yum-config-manager 
    --add-repo 
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#官方源
yum-config-manager 
    --add-repo 
    https://download.docker.com/linux/centos/docker-ce.repo

4.安装docker

这里介绍两种安装方式,我是用的是第一种

1)使用yum命令安装

#查看可用版本
yum list docker-ce --showduplicates | sort -r

#安装18.09.1的版本,安装其他版本照套格式就行
yum install docker-ce-18.09.1 docker-ce-cli-18.09.1 containerd.io

#安装最新版本
yum install -y docker-ce docker-ce-cli containerd.io    

2)使用shell脚本安装

使用官方提供的shell脚本安装,脚本会自动检测系统信息并进行配置。

#安装最新版本docker
curl -fsSL https://get.docker.com/ | sh
#或者
wget -qO- https://get.docker.com/ | sh

#安装尝鲜版本,但不稳定容易原地爆炸
curl -fsSL https://test.docker.com/ | sh

#下载Docker安装包
https://hub.docker.com/search?offering=community&q=&type=edition

3)启动docker

#加入开机启动项、启动docker
systemctl enable docker
systemctl start docker

#验证
docker run hello-world
docker version

注意:因为docker是C/S架构,有服务端跟客户端,所以查看docker版本会显示如下图

image-20210926100828228

1.2 二进制安装

下载docker:官方下载

我是用的是目前最新版本为v20.10.9

1.解压二进制包

tar zxvf docker-20.1.9.tgz
mv docker/* /usr/bin

2.使用systemd管理docker

cat > /usr/lib/systemd/system/docker.service << EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
EOF

3.配置镜像加速

mkdir /etc/docker
cat > /etc/docker/daemon.json << EOF
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF

这里使用的阿里云镜像加速器

4.启动并设置开机启动

systemctl daemon-reload
systemctl start docker
systemctl enable docker

1.3 离线安装

下载docker安装包

参考资料:离线安装docker

三、优化docker

为了以后更好更方便的管理和使用docker,这里写一些使用技巧吧。

2.1 镜像加速

登录阿里云镜像

image-20210927135751614

编辑daemon.json文件,填入加速地址,多个加速地址使用逗号隔开。

vim /etc/docker/daemon.json 
{
    "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]
}

systemctl daemon-reload
systemctl restart docker

#多个加速地址的写法,下列地址已经无法提供加速了,仅作参考
vim /etc/docker/daemon.json 
{
  "registry-mirrors": [
    "https://dockerhub.azk8s.cn",
    "https://reg-mirror.qiniu.com",
    "https://registry.docker-cn.com"
  ]
}

2.2 扩容空间

随着下载docker的镜像越来越多,占用的空间越来越大,建议刚安装docker时划分专门存放的空间。

我这是虚拟机安装的,挂载一块硬盘上去,这很简单,过程就省略了,具体可参考:挂载硬盘取消挂载

1.挂载硬盘

#查看硬盘情况
fdisk -l

#分区
fdisk /dev/sdb #依次按下n,p,回车,回车,回车,w键即可

#格式化硬盘
mkfs.xfs /dev/sdb1

#挂载到/mnt/sdb目录
mkdir /mnt/sdb
mount /dev/sdb1 /mnt/sdb

#查看
lsblk

#永久挂载
vim /etc/fstab
/dev/sdb1 /mnt/sdb xfs defaults  0 1

我使用过VM共享文件夹的方式将我的win主机文件夹挂载到docker虚拟机上,但是挂载上去后会直接用掉win机器100多G的空间,这点要注意。所以还是建议挂载一块虚拟硬盘上去存放docker镜像。

2.设置docker存放路径

vim /etc/docker/daemon.json 
{
"graph": "/mnt/sdb/docker"
}

#将原来的数据移动到挂载的硬盘中
mv -R /var/lib/docker /mnt/sdb/docker/

#查看docker空间使用情况
docker system df

四、其他系统安装

4.1 Ubuntu安装

适用于ubuntu14.06/16.04

#安装证书
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

#添加Docker软件包源
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu (lsb_release -cs) stable"

#更新apt包索引
sudo apt-get update

#安装Docker CE
sudo apt-get install docker-ce

#测试
sudo docker run hello-world
sudo docker version

#卸载Docker CE
sudo apt-get purge docker-ce
sudo rm -rf /var/lib/docker

五、参考资料

官方部署文档

菜鸟教程部署文档

containerd是什么

修改docker存放路径

未挂载cgroup报错

docker空间清理

二进制安装docker

今天的学习是为了以后的工作更加的轻松!
原文地址:https://www.cnblogs.com/tz90/p/12222944.html