docker和docker-compose離線安裝實(shí)踐
更新時(shí)間:2025年12月01日 15:23:12 作者:lakelh1
文章介紹了如何在離線環(huán)境中安裝Docker和Docker Compose,包括下載、解壓、移動文件、啟動服務(wù)和驗(yàn)證步驟
一、docker 離線安裝
# uname -r 3.10.0-1160.119.1.el7.x86_64
1. 下載地址
Index of linux/static/stable/x86_64/
選擇版本下載或
sudo wget https://download.docker.com/linux/static/stable/x86_64/docker-28.0.4.tgz
2. 解壓
sudo tar -zxvf docker-28.0.4.tgz
3. 移動文件
sudo mv docker/* /usr/local/bin/
4. 啟動docker
4.1 manage_docker.sh
#!/bin/bash
# 檢查傳入的參數(shù)
if [ $# -ne 1 ]; then
echo "Usage: $0 {start|stop|status|restart}"
exit 1
fi
# 定義變量
DOCKER_BIN="/usr/local/bin/dockerd"
DOCKER_PID_FILE="/var/run/docker.pid"
DOCKER_LOG_FILE="/var/log/docker.log"
# 啟動 Docker
start_docker() {
if [ -f "$DOCKER_PID_FILE" ]; then
if ps -p $(cat $DOCKER_PID_FILE) -o comm= | grep -qw dockerd; then
echo "Docker is already running (PID: $(cat $DOCKER_PID_FILE))"
return 0
else
echo "Stale PID file found. Cleaning up..."
rm -f "$DOCKER_PID_FILE"
fi
fi
echo "Starting Docker..."
nohup $DOCKER_BIN > "$DOCKER_LOG_FILE" 2>&1 &
sleep 2 # 等待 dockerd 啟動完成
if ps -p $! -o comm= | grep -qw dockerd; then
echo $! > "$DOCKER_PID_FILE"
echo "Docker started successfully (PID: $!)"
else
echo "Failed to start Docker. Check $DOCKER_LOG_FILE for details."
exit 1
fi
}
# 停止 Docker
stop_docker() {
if [ -f "$DOCKER_PID_FILE" ]; then
if ps -p $(cat $DOCKER_PID_FILE) -o comm= | grep -qw dockerd; then
echo "Stopping Docker..."
kill $(cat $DOCKER_PID_FILE)
rm -f "$DOCKER_PID_FILE"
echo "Docker stopped successfully."
else
echo "Stale PID file found. Cleaning up..."
rm -f "$DOCKER_PID_FILE"
fi
else
echo "Docker is not running."
fi
}
# 檢查 Docker 狀態(tài)
status_docker() {
if [ -f "$DOCKER_PID_FILE" ]; then
if ps -p $(cat $DOCKER_PID_FILE) -o comm= | grep -qw dockerd; then
echo "Docker is running (PID: $(cat $DOCKER_PID_FILE))"
else
echo "Docker is not running."
fi
else
echo "Docker is not running."
fi
}
# 重啟 Docker
restart_docker() {
stop_docker
start_docker
}
# 根據(jù)用戶輸入執(zhí)行相應(yīng)的操作
case "$1" in
start)
start_docker
;;
stop)
stop_docker
;;
status)
status_docker
;;
restart)
restart_docker
;;
*)
echo "Invalid option: $1"
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit 0
4.2 使用
chmod +x manage_docker.sh # 賦予可執(zhí)行權(quán)限 ./manage_docker.sh start # 啟動 Docker ./manage_docker.sh stop # 停止 Docker ./manage_docker.sh status # 查看 Docker 狀態(tài) ./manage_docker.sh restart # 重啟 Docker
4.3 驗(yàn)證
# ./manage_docker.sh start Starting Docker... Docker started successfully (PID: 2792) # docker --version Docker version 28.0.4, build b8034c0
二、docker-compose 離線安裝
地址:
https://github.com/docker/compose/releases
選擇版本下載
wget https://github.com/docker/compose/releases/download/v2.35.0/docker-compose-linux-x86_64
1. 移動并賦權(quán)
sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose
2. 驗(yàn)證
# docker-compose --version Docker Compose version v2.35.0
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
在Docker容器中運(yùn)行Nginx的詳細(xì)教程
Nginx 是一款高性能 Web 服務(wù)器,常被用作反向代理、負(fù)載均衡器以及內(nèi)容緩存,當(dāng)你將 Nginx 運(yùn)行在 Docker 容器中時(shí),還能進(jìn)一步獲得可移植性、快速部署和更整潔的管理體驗(yàn),本教程將帶你從零開始學(xué)習(xí)如何使用 Docker 部署 Nginx,需要的朋友可以參考下2025-10-10
Visual Studio發(fā)布 Docker 鏡像的實(shí)現(xiàn)步驟
本文詳細(xì)指導(dǎo)如何在Visual Studio中為ASP.NET Core WebAPI項(xiàng)目集成Docker支持,包括配置步驟、編寫Dockerfile、測試代碼、launchSettings.json配置及docker-compose.yml編寫,感興趣的可以了解一下2026-04-04
使用Docker部署todo任務(wù)管理器的實(shí)現(xiàn)
本文介紹使用Docker部署Todo任務(wù)管理器的全過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-07-07
Docker同時(shí)安裝MySQL和MariaDB的方法步驟
這篇文章主要介紹了Docker同時(shí)安裝MySQL和MariaDB的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Docker搭建簡單的應(yīng)用棧與容器Hello World訪問詳解
這篇文章主要介紹了Docker搭建簡單的應(yīng)用棧與容器Hello World訪問,結(jié)合實(shí)例形式詳細(xì)分析了Docker應(yīng)用容器棧的獲取、互聯(lián)、啟動、配置以及應(yīng)用訪問測試相關(guān)操作技巧,需要的朋友可以參考下2018-06-06
Centos8安裝docker報(bào)錯(cuò)(錯(cuò)誤提示:All?mirrors?were?tried)的問題
最近總是遇到“All?mirrors?were?tried”的報(bào)錯(cuò)信息,沒辦法,就rm?-rf?/etc/yum.repos.d/*?全部!刪了,下面小編通過本文給大家介紹下Centos8安裝docker報(bào)錯(cuò)(錯(cuò)誤提示:All?mirrors?were?tried)的問題及解決過程,感興趣的朋友一起看看吧2022-03-03

