一、系统准备
CentOS 系统
# 安装必要工具
yum -y install wget
yum -y install bash-completion
Ubuntu 系统
# 安装必要工具
apt -y install wget
二、下载安装包
docker下载 https://www.docker.com/



https://download.docker.com/linux/static/stable/x86_64/docker-29.4.0.tgz
三、安装 Docker
3.1 创建安装目录并解压
# 创建安装目录
install -d /app/tools
# 解压 Docker 二进制包
tar xf docker-29.5.2.tgz -C /app/tools
# 创建软链接到系统命令
ln -svf /app/tools/docker/* /usr/bin/
3.2 配置 bash 自动补全
# Docker 自带补全生成命令
docker completion bash > /usr/share/bash-completion/completions/docker
3.3 配置 Docker 镜像加速
# 创建 Docker 配置目录
install -d /etc/docker
# 配置镜像加速(创建 daemon.json 文件)
cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors" : [
"https://docker.m.daocloud.io",
"https://dockerhub.timeweb.cloud",
"https://k8s.m.daocloud.io"]
}
EOF
3.4 配置 systemd 服务
# 创建 docker.service 文件
cat > /usr/lib/systemd/system/docker.service <<EOF
[Unit]
Description=docker
Documentation=https://www.qingwen.me
#启动docker时,需要什么程序已经准备好???(没启动成功页没关系)
After=network-online.target containerd.service
#如果这个程序没准备好,依旧可以启动docker
Wants=network-online.target
[Service]
Type=notify #systemd配置,表示,docker进程启动好running/active之后再进行下一步操作;
#服务启动时执行的命令
ExecStart=/usr/bin/dockerd
# 重启进程,$MAINPID表示docker的pid变量(systemd生成的)
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0 #docker停止时等待时间,0表示伊吾县等待其优雅停止,避免强制杀死
LimitNOFILE=infinity #不限制文件打开数
LimitNPROC=infinity #不限制系统进程打开数
[Install]
WantedBy=multi-user.target
EOF
# 重新加载 systemd
systemctl daemon-reload
# 启动 Docker 并设置开机自启
systemctl enable –now docker
3.5 验证 Docker 安装
# 查看 Docker 版本
docker version
# 查看 Docker 服务状态
systemctl status docker
四、安装 Docker Compose
下载docker-compose
https://github.com/docker/compose/

点击版本入口,进入版本下载页面

# 向下滑动页面
– 点击【show all...】展示所有系统类型

# 选择符合我们系统架构的类型
– docker-compose-linux-x86_64

4.1 安装 Docker Compose 二进制文件
# 复制 Docker Compose 到 Docker 目录
chmod +x docker-compose-v2.30.3
cp docker-compose-v2.30.3 /app/tools/docker/docker-compose
# 创建软链接
ln -svf /app/tools/docker/docker-compose /usr/bin/docker-compose
4.2 验证 Docker Compose
# 查看 Docker Compose 版本
docker-compose version
五、测试运行
测试 Docker
# 运行 hello-world 测试容器
docker run hello-world
# 查看运行中的容器
docker ps
# 查看所有容器
docker ps -a
测试 Docker Compose
# 创建测试目录
mkdir test-compose && cd test-compose
# 创建 docker-compose.yml
cat > docker-compose.yml <<EOF
version: '3'
services:
web:
image: nginx:alpine
ports:
– "8080:80"
EOF
# 启动服务
docker-compose up -d
# 查看服务状态
docker-compose ps
# 停止并删除服务
docker-compose down
六、卸载 Docker
如果需要完全卸载 Docker,执行以下命令:
# 停止 Docker 服务
systemctl disable –now docker
# 删除 systemd 服务文件
rm -f /usr/lib/systemd/system/docker.service
# 重新加载 systemd
systemctl daemon-reload
# 删除 Docker 程序目录
rm -rf /app/tools/docker
# 删除 Docker 数据目录(注意:这会删除所有容器、镜像和数据)
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
# 删除软链接
rm -f /usr/bin/containerd
rm -f /usr/bin/containerd-shim
rm -f /usr/bin/containerd-shim-runc-v2
rm -f /usr/bin/ctr
rm -f /usr/bin/docker
rm -f /usr/bin/dockerd
rm -f /usr/bin/docker-init
rm -f /usr/bin/docker-proxy
rm -f /usr/bin/runc
rm -f /usr/bin/docker-compose
七、常用命令汇总
Docker 服务管理
# 启动 Docker
systemctl start docker
# 停止 Docker
systemctl stop docker
# 重启 Docker
systemctl restart docker
# 查看 Docker 状态
systemctl status docker
# 查看 Docker 日志
journalctl -u docker -f
Docker 基础命令
# 查看镜像列表
docker images
# 查看容器列表
docker ps
docker ps -a
# 拉取镜像
docker pull nginx:latest
# 运行容器
docker run -d –name mynginx -p 80:80 nginx
# 停止容器
docker stop mynginx
# 删除容器
docker rm mynginx
# 删除镜像
docker rmi nginx:latest
Docker Compose 命令
# 启动服务
docker-compose up -d
# 停止服务
docker-compose down
# 查看日志
docker-compose logs -f
# 重启服务
docker-compose restart
# 构建镜像并启动
docker-compose up -d –build




