CentOS7离线部署安装docker和docker-compose

CentOS7离线部署安装docker和docker-compose

安装包准备

docker下载地址、docker-compose下载地址
docker和docker-compose版本对应关系

注:本次安装部署选择的版本是

  • docker:docker-28.0.1.tgz
  • docker-compose:docker-compose-linux-x86_64

安装部署

1. docker安装部署
复制代码
# 新建docker文件夹
mkdir -p /user/local/docker
 
# 进入/user/local/docker目录,解压docker包
tar -zxvf ./docker-28.0.1.tgz
 
# 将解压出来的docker文件内容移动到 /usr/bin/ 目录下
cp ./docker/*  /usr/local/bin/
 
# 查看docker版本
docker version
 
# 查看docker信息
docker info

# 添加daemon.json文件并编辑
vim /etc/docker/daemon.json
{
    "bip": "172.18.0.1/16"
}

注:(bip可以不配置)

配置Docker的网络桥接IP范围(bip)主要用于以下目的:

  1. 避免IP地址冲突:通过指定一个特定的IP范围,可以避免与其他网络设备或容器发生IP地址冲突。
  2. 网络隔离:通过设置不同的IP范围,可以实现网络隔离,确保不同容器网络之间的通信安全。
  3. 优化网络性能:合理配置IP范围和网络子网,可以优化网络性能,减少网络延迟和提高数据传输效率。

由于是手动安装 Docker 的,所以需要手动配置 Docker 服务,以下是如何创建一个 systemd 服务来管理 Docker。

复制代码
# 添加docker.service文件并编辑
vim /etc/systemd/system/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target

[Service]
ExecStart=/usr/local/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
Restart=always
LimitNOFILE=1048576
TimeoutStartSec=0
RestartSec=2
StartLimitInterval=0

[Install]
WantedBy=multi-user.target


# 添加文件可执行权限
chmod +x /etc/systemd/system/docker.service

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

# 启动 Docker 服务并将其设置为开机自启动:
sudo systemctl start docker
sudo systemctl enable docker

# 检查 Docker 服务状态
sudo systemctl status docker
2. 安装部署docker-compose

将下载好的docker-compose-Linux-x86_64 二进制文件,传输到CentOS 7机器上。

复制代码
# 给文件添加执行权限,并重命名为 docker-compose:
sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

# 检查Docker Compose版本来确认安装成功:
docker-compose --version
相关推荐
Decay__11 小时前
VMware 安装 SQL Server 双节点 AlwaysOn 可用性组教程 —— WSFC、AG 与侦听器完整部署(系列核心篇)
运维·数据库·sql·mysql·架构
测试界的小码农12 小时前
【Linux 命令实战(06):Linux 文件权限管理,掌握 chmod、chown、chgrp】
linux·运维·服务器
陈希12313 小时前
负载均衡与高可用:LVS、HAProxy、Keepalived 实战
运维·负载均衡·lvs
SQL7716 小时前
IT运维发展史,一部宏伟史诗
运维·运维发展史
分布式存储与RustFS17 小时前
Terraform 状态文件老在本地丢、并发还撞锁:把 state 锁进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
csdn_aspnet18 小时前
macOS 10 、Docker 玩轉 MySQL
运维·mysql·macos·docker·容器·mac
对象存储与RustFS19 小时前
Jenkins 的构建产物别堆在控制器磁盘:用 RustFS 当它的 S3 工件仓库
后端·docker·云原生
爱和冰阔落20 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
无奈笑天下1 天前
银河麒麟上nproc命令教程详解
linux·运维·服务器
威嵌神州1 天前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存