讓 Docker 每次開機自動運行。因為我們是開發(fā)環(huán)境,虛擬機用完就關(guān)機了,下次啟動虛擬機,讓 Docker 跟著啟動對于我們開發(fā)來說更方便一些。
 
這篇再整理一下在 CentOS 下安裝 Docker。Vagrant + VirtualBox + Docker 來搭建開發(fā)環(huán)境是很方便的,不過機器性能不高的話會很卡。

1、卸載系統(tǒng)中的docker
首先來卸載一下當(dāng)前的 docker,當(dāng)然系統(tǒng)中可能沒有。
[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、安裝對應(yīng)的依賴環(huán)境和鏡像地址
安裝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
官網(wǎng)的速度可能較慢,這里也可以添加阿里云的資源庫。
[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 的社區(qū)版,專門用于開發(fā)人員和小團隊創(chuàng)建基于容器的應(yīng)用。比如,我們現(xiàn)在就是在搭建開發(fā)環(huán)境。docker-ce-cli 相當(dāng)于是個命令行工具。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 命令可以查看運行中的容器,當(dāng)然了,我們這里只是剛剛安裝了 Docker,不會有運行中的容器。
5、查看 Docker 版本
查看 Docker 的版本,其實就類似于我們安裝完 JDK 并配置完 JDK 的環(huán)境變量以后,通過 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
其實此時執(zhí)行 docker version 有些多此一舉,因為我們在上一步啟動 Docker 后執(zhí)行了 docker ps 命令,就相當(dāng)于驗證 Docker 是否啟動成功了。
6、設(shè)置開機自啟動
最后呢,讓 Docker 每次開機自動運行。因為我們是開發(fā)環(huán)境,虛擬機用完就關(guān)機了,下次啟動虛擬機,讓 Docker 跟著啟動對于我們開發(fā)來說更方便一些。
[root@localhost ~]# systemctl enable docker
好啦,Docker 的安裝就到這了!一個很簡單的教程??!