在 CentOS 上安装 Docker 引擎
校验Linux内核版本(3.10及以上)
[vagrant@localhost /]$ uname -r
3.10.0-1127.el7.x86_64
卸载旧版本
// 旧版本的 Docker 被称为docker或docker-engine,安装Docker之前先讲这些旧版本卸载掉
[vagrant@localhost /]$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
//由于之前没有安装Dokcer,所以没有找到相关的软件包
Loaded plugins: fastestmirror
No Match for argument: docker
No Match for argument: docker-client
No Match for argument: docker-client-latest
No Match for argument: docker-common
No Match for argument: docker-latest
No Match for argument: docker-latest-logrotate
No Match for argument: docker-logrotate
No Match for argument: docker-engine
No Packages marked for removal
设置Docker 存储库
1.安装Docker之前,需要先安装Docker存储库,此后就可以直接从存储库安装和更新Docker了。
命令:sudo yum install -y yum-utils
[vagrant@localhost /]$ sudo yum install -y yum-utils
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: mirrors.163.com
* extras: mirrors.bfsu.edu.cn
...
Updated:
yum-utils.noarch 0:1.1.31-54.el7_8
Complete!
2.添加镜像下载地址(官方提供),指令:
sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
更推荐使用阿里云提供的下载地址,指令:
sudo yum-config-manager \ --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[vagrant@localhost /]$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
3.设置yum软件包索引(可选),用来提高软件下载速度
指令:sudo yum makecache fast
Docker安装
安装最新版本的 Docker Engine 和 containerd;下载过程中需要你确定两次,直接输入y即可。
指令:sudo yum install docker-ce docker-ce-cli containerd.io
[vagrant@localhost /]$ sudo yum install docker-ce docker-ce-cli containerd.io
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
...
Installed:
...
Dependency Installed:
...
Complete!
启动Docker
// 启动Docker:`sudo systemctl start docker`
[vagrant@localhost /]$ sudo systemctl start docker
设置Docker开机自启动:sudo systemctl enable docker
[vagrant@localhost /]$ sudo systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
测试Docker常用命令
1.先切换到ROOT用户:su -
[vagrant@localhost vagrant]$ su -
Password:
[root@localhost ~]#
2.测试Docker是否安装成功:docker run hello-world
,普通用户输入:sudo docker run hello-world
[root@localhost ~]# docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
3.常用命令
//查看命令列表
[root@localhost ~]# docker --help
...
//创建容器
[root@localhost ~]# docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
//列出容器
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
...
//详情见:https://docs.docker.com/engine/reference/commandline/docker/
配置Docker镜像加速器
由于Docker的镜像站点在国外,需要配置一个国内的镜像站点,类似于Maven配置中央仓库的地址一样;
1.创建文件夹:sudo mkdir -p /etc/docker
2.创建daemon.json文件:sudo tee /etc/docker/daemon.json <<-'EOF { "registry-mirrors": ["https://https://2enykgrd.mirror.aliyuncs.com.mirror.aliyuncs.com"] } EOF'
3.重新加载文件:sudo systemctl daemon-reload
4.重启Docker服务:sudo systemctl restart docker
//创建文件夹(若已存在则忽略)
sudo mkdir -p /etc/docker
//创建daemon.json文件,镜像地址可以自己设置一个
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://https://2enykgrd.mirror.aliyuncs.com.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
卸载Docker
1.首先卸载 Docker Engine、CLI 和 Containerd 包:
指令:sudo yum remove docker-ce docker-ce-cli containerd.io
[vagrant@localhost /]$ sudo yum remove docker-ce docker-ce-cli containerd.io
2.主机上的映像、容器、卷或自定义(手动编辑过的)配置文件需要手动删除
[vagrant@localhost /]$ sudo rm -rf /var/lib/docker
[vagrant@localhost /]$ sudo rm -rf /var/lib/containerd