linux 安装docker和docker-compose

bash 复制代码
wget -nc https://mirrors.sustech.edu.cn/docker-ce/linux/static/stable/x86_64/docker-29.0.1.tgz

📦 第一步:解压安装包

解压安装包

首先,你需要将下载好的 .tgz 文件上传到你的 Linux 服务器中(例如放在 /root 或 /opt 目录下)。

1.执行解压命令:

.tgz 文件本质上是 tar 归档并用 gzip 压缩的文件。使用以下命令进行解压:

bash 复制代码
tar -zxvf docker-29.0.1.tgz
bash 复制代码
- `-z`: 表示解压 gzip 格式。
- `-x`: 表示解压操作。
- `-v`: 显示解压过程(可选)。
- `-f`: 指定文件名。

2. 检查解压结果:

解压成功后,当前目录下会出现一个名为 docker 的文件夹,里面包含了 dockerd, docker, containerd 等二进制可执行文件。

⚙️ 第二步:安装与配置

这一步是将 Docker 的二进制文件复制到系统路径中,并配置它作为一个系统服务(Service)来管理。

1. 复制二进制文件到系统目录

为了让系统能在任何路径下识别 docker 命令,我们需要将解压出的文件复制到 /usr/bin/ 目录。

bash 复制代码
cp docker/* /usr/bin/

2. 创建 Docker 服务配置文件

为了让 Docker 能够开机自启并被 systemctl 管理,我们需要创建一个服务配置文件。

  • 创建文件路径:/etc/systemd/system/docker.service
  • 执行命令(使用 vim 或 nano):
    代码
bash 复制代码
vim /etc/systemd/system/docker.service
  • 写入以下内容(你可以直接复制粘贴):
bash 复制代码
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

或者

bash 复制代码
sudo tee /etc/systemd/system/docker.service <<-'EOF'
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
EOF

3. 配置文件权限与重载

创建好配置文件后,我们需要给它添加执行权限,并通知 systemd 重新加载配置。

bash 复制代码
# 添加执行权限
chmod +x /etc/systemd/system/docker.service

# 重新加载 systemd 配置
systemctl daemon-reload

🚀 第三步:启动与验证

现在,Docker 已经部署完毕,我们可以启动它了。

1. 启动 Docker 服务:

bash 复制代码
systemctl start docker

设置开机自启:

bash 复制代码
systemctl enable docker

3. 验证是否安装成功:

运行以下命令查看 Docker 版本信息。如果看到输出了 Docker version 29.0.1,说明部署成功!

bash 复制代码
docker -v
# 或者查看更详细的信息
docker info
bash 复制代码
wget -O /usr/local/bin/docker-compose "https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-$(uname -s)-$(uname -m)"
bash 复制代码
chmod +x /usr/local/bin/docker-compose
tail -f /dev/null
相关推荐
闲云野鹤在人间1 分钟前
KVM虚拟化实战|CentOS‑Stream8 两种安装方式+模板制作+基础使用
linux·运维·服务器·centos
小张同学a.1 分钟前
Docker 容器实战 2—— docker 仓库
linux·运维·服务器·docker·容器
Android系统攻城狮14 分钟前
Linux PipeWire深度解析之pw_core_get_registry调用流程与实战(九十一)
linux·运维·服务器·音频进阶·pipewire音频实战进阶
其实防守也摸鱼14 分钟前
智能体推荐:精选 AI Agent 工具与实战指南
运维·开发语言·人工智能·学习·web安全·自动化
小义_19 分钟前
JDK 深度解析
java·linux·开发语言·python·面试
邪修king20 分钟前
Re:Linux 系统编程篇 (十二):进程篇(一)基础与 fork 系统调用全解
linux·运维·服务器
牢姐与蒯24 分钟前
Linux进程(五).之环境变量
linux·运维·服务器·ubuntu
ZGi.ai24 分钟前
ZGI 文件产物:生成报告后怎样交付
大数据·运维·workflow·权限管理·zgi·智能体交付·文件产物
楠楠子呀34 分钟前
号码状态核验:从数据清洗到合规处理的实现思路
运维·自动化
raindayinrain40 分钟前
深入理解Linux内核--系统调用,性能优化
linux·性能优化·系统调用·返回值·入参·内核态用户态地址访问