docker和docker-compose离线安装
文章目录
- 一、docker 离线安装
- 1. 下载地址
- 2. 解压
- 3. 移动文件
- 4. 启动docker
- 4.1 manage_docker.sh
- 4.2 使用
- 二、docker-compose 离线安装
- 1. 移动并赋权
- 2. 验证
一、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