
這篇再整理一下在 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 的安裝就到這了!一個很簡單的教程??!