于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版本会显示如下图
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,这里写一些使用技巧吧。
2.1 镜像加速
登录阿里云镜像
编辑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