这篇再整理一下在 CentOS 下安装 Docker。Vagrant + VirtualBox + Docker 来搭建开发环境是很方便的,不过机器性能不高的话会很卡。
1、卸载系统中的docker
首先来卸载一下当前的 docker,当然系统中可能没有。
[vagrant@localhost ~]$ sudo yum remove docker \
> docker-client \
> docker-client-latest \
> docker-common \
> docker-latest \
> docker-latest-logrotate \
> docker-logrotate \
> docket-engine
Failed to set locale, defaulting to C
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: docket-engine
No Packages marked for removal
2、安装对应的依赖环境和镜像地址
安装yum-utils,它属于是yum的一个扩展工具。
[vagrant@localhost ~]$ sudo yum install -y yum-utils
Complete!
[vagrant@localhost ~]$
然后呢,添加 Docker 的资源库。
[vagrant@localhost ~]$ sudo yum-config-manager \
> --add-repo \
> https://download.docker.com/linux/centos/docker-ce.repo
Failed to set locale, defaulting to C
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
官网的速度可能较慢,这里也可以添加阿里云的资源库。
[vagrant@localhost ~]$ sudo yum-config-manager \
> --add-repo \
> http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
3、安装 Docker
这里通过 yum 安装 docker-ce、docker-ce-cli 和 containerd.io。
[vagrant@localhost ~]$ sudo yum install -y docker-ce docker-ce-cli containerd.io
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.lzu.edu.cn
* extras: mirrors.ustc.edu.cn
* updates: mirrors.ustc.edu.cn
docker-ce-stable | 3.5 kB 00:00:00
(1/2): docker-ce-stable/7/x86_64/updateinfo | 55 B 00:00:00
(2/2): docker-ce-stable/7/x86_64/primary_db | 88 kB 00:00:00
Complete!
其中 docker-ce 是 Docker 的社区版,专门用于开发人员和小团队创建基于容器的应用。比如,我们现在就是在搭建开发环境。docker-ce-cli 相当于是个命令行工具。containerd.io 是 一个守护进程。
4、启动 Docker 并查看运行中的容器
启动 docker 直接使用 systemctl 或者 service 即可启动。
[vagrant@localhost ~]$ sudo systemctl start docker
[vagrant@localhost ~]$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
通过 docker ps 命令可以查看运行中的容器,当然了,我们这里只是刚刚安装了 Docker,不会有运行中的容器。
5、查看 Docker 版本
查看 Docker 的版本,其实就类似于我们安装完 JDK 并配置完 JDK 的环境变量以后,通过 java -version 来验证一下安装和配置是否正确。我们通过 docker version 来查看 Docker 是否安装成功。
[root@localhost ~]# docker version
Client: Docker Engine - Community
Version: 20.10.21
API version: 1.41
Go version: go1.18.7
Git commit: baeda1f
Built: Tue Oct 25 18:04:24 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.21
API version: 1.41 (minimum version 1.12)
Go version: go1.18.7
Git commit: 3056208
Built: Tue Oct 25 18:02:38 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.10
GitCommit: 770bd0108c32f3fb5c73ae1264f7e503fe7b2661
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
其实此时执行 docker version 有些多此一举,因为我们在上一步启动 Docker 后执行了 docker ps 命令,就相当于验证 Docker 是否启动成功了。
6、设置开机自启动
最后呢,让 Docker 每次开机自动运行。因为我们是开发环境,虚拟机用完就关机了,下次启动虚拟机,让 Docker 跟着启动对于我们开发来说更方便一些。
[root@localhost ~]# systemctl enable docker
好啦,Docker 的安装就到这了!一个很简单的教程!!