docker和docker-compose离线安装实践
更新时间:2025年12月01日 15:23:12 作者:lakelh1
文章介绍了如何在离线环境中安装Docker和Docker Compose,包括下载、解压、移动文件、启动服务和验证步骤
一、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
# 检查传入的参数
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 状态
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
}
# 根据用户输入执行相应的操作
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 # 赋予可执行权限 ./manage_docker.sh start # 启动 Docker ./manage_docker.sh stop # 停止 Docker ./manage_docker.sh status # 查看 Docker 状态 ./manage_docker.sh restart # 重启 Docker
4.3 验证
# ./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. 移动并赋权
sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose
2. 验证
# docker-compose --version Docker Compose version v2.35.0
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。


最新评论