Linux搭建Docker環(huán)境全過程
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配置文件 /etc/docker/daemon.json :
清華大學(xué)源:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
{ "registry-mirrors": ["https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo"], }
修改完后,重啟Docker服務(wù):systemctl restart docke
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)比較快的地址:
清華大學(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
- 啟用 Docker 服務(wù),使其在系統(tǒng)啟動時自動啟動:
sudo systemctl enable docker
- 通過運(yùn)行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 鏡像名
- 查看正在運(yùn)行的容器: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/sh
,推薦使用后者。
更多的命令可以通過docker help
命令來查看。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux系統(tǒng)crontab定時運(yùn)行shell腳本失敗的問題及解決
這篇文章主要介紹了Linux系統(tǒng)crontab定時運(yùn)行shell腳本失敗的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04Linux基礎(chǔ)學(xué)習(xí)之利用tcpdump抓包實例代碼
tcpdump是Linux下面的一個開源的抓包工具,和Windows下面的wireshark抓包工具一樣, 支持抓取指定網(wǎng)口、指定目的地址、指定源地址、指定端口、指定協(xié)議的數(shù)據(jù)。下面這篇文章主要給大家介紹了關(guān)于Linux基礎(chǔ)學(xué)習(xí)之利用tcpdump抓包的相關(guān)資料,需要的朋友可以參考下。2017-12-12淺談ubuntu 使用securecrt vi編輯出現(xiàn)的問題
下面小編就為大家?guī)硪黄獪\談ubuntu 使用securecrt vi編輯出現(xiàn)的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01Ubuntu下開啟php調(diào)試模式報錯信息解決辦法
這篇文章主要介紹了Ubuntu下開啟php調(diào)試模式報錯信息解決辦法的相關(guān)資料,需要的朋友可以參考下2016-12-12