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