docker和docker-compose離線安裝實(shí)踐
更新時(shí)間:2025年12月01日 15:23:12 作者:lakelh1
文章介紹了如何在離線環(huán)境中安裝Docker和Docker Compose,包括下載、解壓、移動(dòng)文件、啟動(dòng)服務(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. 移動(dòng)文件
sudo mv docker/* /usr/local/bin/
4. 啟動(dòng)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"
# 啟動(dòng) 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 啟動(dòng)完成
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 # 啟動(dòng) 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. 移動(dòng)并賦權(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容器動(dòng)態(tài)加載掛載目錄的實(shí)踐
本文主要介紹了Docker容器中動(dòng)態(tài)加載掛載目錄的實(shí)踐,通過掛載目錄,可以將主機(jī)上的文件或目錄與容器中的文件或目錄進(jìn)行關(guān)聯(lián),實(shí)現(xiàn)應(yīng)用程序的靈活性和可擴(kuò)展性,這種方法可以避免容器重啟,減少應(yīng)用程序的停機(jī)時(shí)間,并簡化應(yīng)用程序的部署和管理,使應(yīng)用程序的遷移和擴(kuò)展更加容易2024-10-10
docker load鏡像后名字和標(biāo)簽異常的解決方案
使用docker load加載tar鏡像時(shí),若打包時(shí)僅用ID,NAME和TAG會(huì)顯示none,應(yīng)使用鏡像名稱打包,如docker save -o [name]:[tag],可重命名:docker tag [id] [new name]:[tag]2025-09-09
docker啟動(dòng)MySQL容器失敗原因分析以及排查記錄
在使用Docker啟動(dòng)MySQL容器時(shí),遇到了配置文件路徑錯(cuò)誤的問題,通過查看容器日志發(fā)現(xiàn),容器讀取的配置文件路徑與指定的不一致,解決方法是修改啟動(dòng)命令中的配置文件路徑,將其指向正確的目錄,最終,容器成功啟動(dòng)并進(jìn)入U(xiǎn)p狀態(tài)2025-02-02
docker啟動(dòng)springboot項(xiàng)目容器閃退的解決
本文主要介紹了docker啟動(dòng)springboot項(xiàng)目容器閃退,大部分原因是啟動(dòng)報(bào)錯(cuò),文中通過圖文示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07

