在許多企業(yè)環(huán)境中,網(wǎng)絡(luò)訪問受限或出于安全考慮無法直接連接互聯(lián)網(wǎng),這使得在這些環(huán)境中安裝和部署軟件變得更加復(fù)雜。為了應(yīng)對這些挑戰(zhàn),離線部署Docker成為一種實用的解決方案。本文將詳細介紹如何在歐拉系統(tǒng)openEuler
上進行Docker
的離線部署,以便在無網(wǎng)絡(luò)連接的情況下依然能夠順利使用Docker
進行容器化管理。
關(guān)于openEuler
openEuler
是一個由華為主導(dǎo)并開源的Linux
發(fā)行版,旨在為企業(yè)級應(yīng)用提供高性能、高安全性和高穩(wěn)定性的操作系統(tǒng)平臺。openEuler
是一個由華為主導(dǎo)并開源的Linux發(fā)行版,旨在為企業(yè)級應(yīng)用提供高性能、高安全性和高穩(wěn)定性的操作系統(tǒng)平臺。作為一個社區(qū)驅(qū)動的項目,openEuler
不僅繼承了Linux的開放性和靈活性,還集成了多種優(yōu)化和增強功能,特別是在云計算、大數(shù)據(jù)、人工智能等領(lǐng)域表現(xiàn)出色。
openEuler官網(wǎng)部署最新Docker版本
本次案例使用的是openEuler 24.03
的版本,如下圖所示:
查看版本信息關(guān)于openEuler系統(tǒng)的部署請查看官方的文檔[1],有詳細的教程文章。
下載Docker二進制離線包
下圖展示了Docker官方提供的二進制包下載頁面,可以用于進行Docker的離線安裝。通過使用這些官方提供的二進制包,即使在無法訪問互聯(lián)網(wǎng)的環(huán)境中,依然能夠順利完成Docker的部署。
Docker二進制軟件包本案了采用dockr-27.0.3的版本進行部署,通過下面的命令進行下載:
wget https://download./linux/static/stable/x86_64/docker-27.0.3.tgz
解壓文件
首先,將下載好的Docker二進制安裝包拷貝到目標(biāo)系統(tǒng)上,然后使用tar
命令解壓縮這些文件。以下命令展示了如何完成這一步:
tar -zxvf docker-27.0.3.tgz
這條命令會將Docker的二進制文件解壓縮到當(dāng)前目錄下,解壓后的文件包括Docker守護進程、客戶端、以及相關(guān)的命令行工具。如下圖所示:
解壓后的目錄把文件復(fù)制到/usr/bin/目錄下
完成解壓縮后,我們需要將這些文件移動到系統(tǒng)的標(biāo)準可執(zhí)行文件目錄中,以便系統(tǒng)能夠正確調(diào)用Docker命令:
cp docker/* /usr/bin/
創(chuàng)建Docker服務(wù)文件
使用systemd
來管理Docker服務(wù)是確保其開機自啟動和便捷控制的最佳實踐之一。創(chuàng)建一個名為docker.service
的systemd服務(wù)文件。這個文件通常位于/usr/lib/systemd/system/
目錄下:
vim /usr/lib/systemd/system/docker.service
在文件中添加以下內(nèi)容 :
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
為了使新的服務(wù)文件生效,需要重新加載systemd
的配置:
systemctl daemon-reload
啟動并啟用Docker服務(wù)
systemctl start docker
- 檢查Docker服務(wù)狀態(tài),確保其正常運行:
systemctl status docker
允許上述命令后,輸入如下圖結(jié)果:
檢查Docker服務(wù)情況systemctl enable docker
驗證Docker安裝
通過以下命令驗證Docker是否正確安裝和運行:
docker --version
執(zhí)行完上述命令后,輸出如下結(jié)果:
通過上述返回的信息看到Docker已經(jīng)正確安裝好了。運行一個簡單的Docker容器,驗證Docker是否正常工作 :
docker run -d nginx
運行上述命令出現(xiàn)如下圖結(jié)果,則說明Docker已成功安裝并正常運行。
總結(jié)
通過以上步驟,我們實現(xiàn)了在歐拉系統(tǒng)上離線部署Docker。盡管離線環(huán)境限制了直接從網(wǎng)絡(luò)獲取軟件包的能力,但通過提前準備好所需的安裝包和依賴,我們依然可以順利完成Docker的安裝和部署。