我們一起學(xué)學(xué) Linux 安裝 Docker 完整教程
?背景
最近接手了幾個項目,發(fā)現(xiàn)項目的部署基本上都是基于Docker的,幸虧在幾年前已經(jīng)熟悉的Docker的基本使用,沒有抓瞎。這兩年隨著云原生的發(fā)展,Docker在云原生中的作用使得它也蓬勃發(fā)展起來。
今天這篇文章就帶大家一起實現(xiàn)一下在Linux操作系統(tǒng)下Docker的部署過程,收藏起來,以備不時之需。當(dāng)然,如果對Docker感興趣的話,可以直接根據(jù)本文的步驟操作起來。終有一天你會享受到Docker的便利與魅力的。
Docker及系統(tǒng)版本
Docker從17.03版本之后分為CE(Community Edition: 社區(qū)版)和EE(Enterprise Edition: 企業(yè)版)。相對于社區(qū)版本,企業(yè)版本強(qiáng)調(diào)安全性,但需付費使用。這里我們使用社區(qū)版本即可。
Docker支持64位版本的CentOS 7和CentOS 8及更高版本,它要求Linux內(nèi)核版本不低于3.10。
查看Linux版本的命令這里推薦兩種:lsb_release -a或cat /etc/redhat-release。
lsb_release -a查看效果:
[ ~]$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.6.1810 (Core)
Release: 7.6.1810
Codename: Core
cat /etc/redhat-release查看版本效果:
[~]$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
顯然,當(dāng)前Linux系統(tǒng)為CentOS7。再查一下內(nèi)核版本是否不低于3.10。
查看內(nèi)核版本有三種方式:
- cat /proc/version
- uname -a
- uname -r
三種形式都可以查看到內(nèi)容版本,比如:
[ ~]$ uname -r
3.10.0-1160.45.1.el7.x86_64
可以看到,當(dāng)前Linux內(nèi)核版本滿足Docker的需要。
Docker的自動化安裝
Docker官方和國內(nèi)daocloud都提供了一鍵安裝的腳本,使得Docker的安裝更加便捷。
官方的一鍵安裝方式:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
國內(nèi) daocloud一鍵安裝命令:
curl -sSL https://get.daocloud.io/docker | sh
執(zhí)行上述任一條命令,耐心等待即可完成Docker的安裝。
Docker手動安裝
手動安裝Docker分三步:卸載、設(shè)置倉庫、安裝。
卸載Docker(可選)
第一步,卸載歷史版本。這一步是可選的,如果之前安裝過舊版本的Docker,可以使用如下命令進(jìn)行卸載:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
設(shè)置源倉庫
第二步,設(shè)置倉庫。新主機(jī)上首次安裝Docker Engine-Community之前,需要設(shè)置Docker倉庫。此后可從倉庫安裝和更新Docker。
在設(shè)置倉庫之前,需先按照所需的軟件包。yum-utils提供了yum-config-manager,并且device mapper存儲驅(qū)動程序需要device-mapper-persistent-data和lvm2。
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
執(zhí)行上述命令,安裝完畢即可進(jìn)行倉庫的設(shè)置。使用官方源地址設(shè)置命令如下:
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
通常,官方的源地址比較慢,可將上述的源地址替換為國內(nèi)比較快的地址:
- 阿里云:http:**//mirrors.aliyun.com/docker-ce/linux/centos/**docker-ce.repo
- 清華大學(xué)源:https:**//mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/**docker-ce.repo
倉庫設(shè)置完畢,即可進(jìn)行Docker的安裝。
Docker安裝
執(zhí)行一下命令,安裝最新版本的 Docker Engine-Community 和 containerd。
sudo yum install -y docker-ce docker-ce-cli containerd.io
docker-ce為社區(qū)免費版本。稍等片刻,docker即可安裝成功。但安裝完成之后的默認(rèn)是未啟動的,需要進(jìn)行啟動操作。
如果不需要docker-ce-cli或containerd.io可直接執(zhí)行如下命令:
yum install -y docker-ce
至此,完成Docker安裝。
Docker啟動
啟動Docker的命令:
sudo systemctl start docker
通過運行hello-world鏡像來驗證是否正確安裝了Docker Engine-Community。
// 拉取鏡像
sudo docker pull hello-world
// 執(zhí)行hello-world
sudo docker run hello-world
如果執(zhí)行之后,控制臺顯示如下信息,則說明Docker安裝和啟動成功:
[root@iZ8vb8pfb2awsz4qy7vm7qZ ~]# docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
……
除了啟動Docker,一些其他啟動相關(guān)的命令:
- 守護(hù)進(jìn)程重啟:systemctl daemon-reload
- 重啟Docker服務(wù):systemctl restart docker / service docker restart
- 關(guān)閉Docker服務(wù):docker service docker stop / docker systemctl stop docker
刪除Docker
刪除安裝包:
yum remove docker-ce
刪除鏡像、容器、配置文件等內(nèi)容:
rm -rf /var/lib/docker
Docker其他常見命令
安裝完成Docker之后,這里匯總列一下常見的Docker操作命令:
- 搜索倉庫鏡像:docker search 鏡像名
- 拉取鏡像:docker pull 鏡像名
- 查看正在運行的容器:docker ps
- 查看所有容器:docker ps -a
- 刪除容器:docker rm container_id
- 查看鏡像:docker images
- 刪除鏡像:docker rmi image_id
- 啟動(停止的)容器:docker start 容器ID
- 停止容器:docker stop 容器ID
- 重啟容器:docker restart 容器ID
- 啟動(新)容器:docker run -it ubuntu /bin/bash
- 進(jìn)入容器:docker attach 容器ID或docker exec -it 容器ID /bin/bash,推薦使用后者。
更多的命令可以通過docker help命令來查看。
小結(jié)
本篇文章帶大家從頭到尾在Linux操作系統(tǒng)上安裝了Docker,以及介紹了如何啟動、驗證及常見的命令。后面如果有機(jī)會話,再大家了解一下如何制作Docker鏡像,用于CI/CD發(fā)布當(dāng)中。