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