docker安装
文章目录
1.前期准备
- 系统:centos 7.6+
2.创建一个非root用户
因为CentOS的安全限制,可能会导致部分软件无法使用root账户。(具体原因自行百度)
# 定义用户名
NEW_USER=xiaoming
# 添加用户(可选)
sudo adduser $NEW_USER
# 为新用户设置密码
sudo passwd $NEW_USER
# 为新用户添加sudo权限
sudo echo "$NEW_USER ALL=(ALL) ALL" >> /etc/sudoers
3.删除原来docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
4.安装相关的工具包
# 先更新
sudo yum update -y
# 再安装
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
5.添加软件源信息
如果能连阿里网,则选阿里的镜像,会快很多:
sudo yum-config-manager --add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo;
如果阿里网被禁,用官网推荐的网址试试:
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
6.查看docker版本并进行安装
# 方式一,选择版本安装:查看docker版本
yum list docker-ce --showduplicates | sort -r
# 选择需要安装的版本进行安装
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
# 方式二:可以直接安装最新的版本,命令如下
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 方式三:如果已经安装高版本Docker,可进行降级安装(可选)
export docker_version=18.06.3
version=$(yum list docker-ce.x86_64 --showduplicates | sort -r|grep ${docker_version}|awk '{print $2}';
yum downgrade --setopt=obsoletes=0 -y docker-ce-${version} docker-ce-selinux-${version};
注意在centos8中执行
sudo yum install docker-ce docker-ce-cli containerd.io
报错:package docker-ce-3:19.03.11-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
,那么请先执行
dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.2.el7.x86_64.rpm
单独安装containerd.io,然后再执行
sudo yum install docker-ce docker-ce-cli
即可。
7.将当前用户加入用户组并启动docker
# 把当前用户加入docker组
# 更改用户组之后,需要重启服务器,或者重新登录账号,才会生效
sudo usermod -aG docker $NEW_USER
# 开启docker
sudo systemctl start docker
# 设置开机启动
sudo systemctl enable docker
测试docker是否安装成功
# 查看docker版本信息
sudo docker version
# 运行官方测试镜像
sudo docker run hello-world
8.配置docker
8.1docker配置文件的位置
1.docker服务配置文件
位置:/usr/lib/systemd/system/docker.service
2.docker daemon配置文件
位置:/etc/docker/daemon.json
(注:如果没有可以在相应的位置手动创建)
8.2配置daemon.json
官方daemon配置命令说明
官方提供的daemon.json中配置选项的说明
安装时,主要是配置daemon.json,以下为常用配置。
1.配置镜像下载和上传并发数
支持自定义下载和上传镜像的并发数,默认值上传为3个并发,下载为5个并发。
{
"max-concurrent-downloads": 3,
"max-concurrent-uploads": 5
}
2.配置镜像加速地址
可以设置多个registry-mirrors地址,以数组形式书写,地址需要添加协议头(https或者http)。
{
"registry-mirrors": ["https://7bezldxe.mirror.aliyuncs.com/","https://IP:PORT/"]
}
3.配置insecure-registries 私有仓库
{
"insecure-registries": ["192.168.1.100","IP:PORT"]
}
4.配置Docker存储驱动
{
"storage-driver": "overlay2",
"storage-opts": ["overlay2.override_kernel_check=true"]
}
5.配置日志驱动
限制单个日志文件为100M,最多产生3个日志文件
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
以上完整的配置
{
"max-concurrent-downloads": 3,
"max-concurrent-uploads": 5,
"registry-mirrors": ["https://7bezldxe.mirror.aliyuncs.com/","https://IP:PORT/"],
"insecure-registries": ["192.168.1.100","IP:PORT"],
"storage-driver": "overlay2",
"storage-opts": ["overlay2.override_kernel_check=true"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
配置完成后,可以重新启动服务器,也可重新加载配置文件和重启docker
# 重新加载配置文件
sudo systemctl daemon-reload
# 重启docker
sudo systemctl restart docker
9.卸载docker
# 删除相关安装包,如
sudo yum remove docker-ce
# 删除所有的镜像,容器,和容器卷
sudo rm -rf /var/lib/docker
# 删除所有相关的配置文件,需要自己手动删除
附一:docker hub镜像加速地址
镜像加速器 | 镜像加速器地址 | 专属加速 | 其它加速 |
---|---|---|---|
阿里云 | https://<your_code>.mirror.aliyuncs.com | 需登录,系统分配 | Docker Hub |
腾讯云 | https://mirror.ccs.tencentyun.com | Docker Hub | |
网易云 | https://hub-mirror.c.163.com | Docker Hub | |
DaoCloud 镜像站 | http://f1361db2.m.daocloud.io | 可登录,系统分配 | Docker Hub |
科大镜像站 | https://docker.mirrors.ustc.edu.cn | Docker Hub、GCR、Quay | |
Azure 中国镜像 | https://dockerhub.azk8s.cn | Docker Hub、GCR、Quay | |
七牛云 | https://reg-mirror.qiniu.com | Docker Hub、GCR、Quay |
其它详情见参考地址3
附二:docker 离线安装
离线安装参考地址:
1.Linux下离线安装Docker最新版本
2.离线下载安装包
3.官方指导安装目录
参考地址
1.官网安装地址:Get Docker Engine - Community for CentOS
2.rancher安装docker部分的借鉴内容
3.Docker Hub 镜像加速器