Kylin V10 离线安装docker和docker-compose
本文详细介绍了在Kylin V10系统上离线安装docker和docker-compose的完整步骤。首先下载对应架构的二进制安装包,然后解压并配置systemd服务管理docker。安装完成后提供版本验证方法和docker-compose的基本使用示例,包括一个典型的网页前后端开发配置模板,涵盖MySQL、Redis和Nginx容器的详细参数设置,如数据持久化、端口映射、环境变量等关键配置项。最
Kylin V10 离线安装docker和docker-compose
1. 简介
docker 是轻量级容器化工具,可将应用及依赖打包为独立容器,实现跨环境一致运行。相比虚拟机,容器启动更快、资源占用更低,支持镜像分层复用,简化部署流程。
docker-compose 用于编排多容器应用。通过 YAML 文件定义服务(如 网站前后端、数据库)、网络及依赖关系,一条命令(docker-compose up)即可启停整套服务,避免手动管理多个容器。
2. 下载安装包
-
下载docker的二进制程序包,地址:
https://download.docker.com/linux/static/stable/,根据CPU架构选择aarch64/还是x86_64/,当前的最新版本压缩包名称为:docker-28.1.1.tgz -
下载docker-compose的二进制程序包,地址:
https://github.com/docker/compose/releases,根据CPU架构选择docker-compose-linux-aarch64或是docker-compose-linux-x86_64
3. docker安装
将docker-28.0.1.tgz文件下载到本地目录。
# 解压
tar -xvzf docker-28.1.1.tgz docker/
# 移动解压出来的二进制文件到 /usr/bin 目录中 runc文件可替换
mv docker/* /usr/bin/
为docker添加启动选项:
# 新增docker.service文件
vim /usr/lib/systemd/system/docker.service
# 按下面的内容填写
----
[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
----
# 增加执行权限
chmod +x /usr/lib/systemd/system/docker.service
# 重新加载系统控制器
systemctl daemon-reload
# 启动服务
systemctl start docker
# 设置开机自启动
systemctl enable docker
确认docker已安装成功:
# 查看docker版本
docker version
----
Client:
Version: 28.1.1
API version: 1.49
Go version: go1.23.8
Git commit: 4eba377
Built: Fri Apr 18 09:51:06 2025
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community # 注意只有服务端成功启动后才会显示
Engine:
Version: 28.1.1
API version: 1.49 (minimum version 1.24)
Go version: go1.23.8
Git commit: 01f442b
Built: Fri Apr 18 09:52:21 2025
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.7.27
GitCommit: 05044ec0a9a75232cad458027ca83437aae3f4da
runc:
Version: 1.2.6
GitCommit: v1.2.6-0-ge89a299
docker-init:
Version: 0.19.0
GitCommit: de40ad0
----
4. docker-compose安装
将docker-compose-linux-x86_64文件下载到本地目录。
# 复制二进制文件到 /usr/bin 目录中
cp docker-compose-linux-x86_64 /usr/bin/docker-compose
# 增加执行权限
chmod +x /usr/bin/docker-compose
确认docker-compose已安装成功:
# 查看docker-compose版本
docker-compose version
----
Docker Compose version v2.36.2
----
5. docker-compose基本使用
- 编写好
docker-compose.yml配置文件 - 创建逻辑卷目录,并赋予足够权限
- 在配置文件目录执行
docker-compose -p project_name up -d,project_name为指定的命名空间,防止多个项目冲突
网页前后端开发docker-compose.yml配置参考(需根据自身镜像和项目需求调整):
services:
mysql:
image: mysql:8.0 # 推荐使用版本号
container_name: xxx_mysql # 指定容器名称(避免冲突)
restart: always # 自动重启
environment:
MYSQL_ROOT_PASSWORD: "your_passwd" # root密码(必须)
MYSQL_DATABASE: "db_name" # 容器初始化时创建的数据库(自定义)
# MYSQL_USER: "username" # 创建普通用户(可选)
# MYSQL_PASSWORD: "password" # 普通用户密码(可选)
TZ: Asia/Shanghai # 时区设置(重要日志时间对齐)
command:
- --character-set-server=utf8mb4 # 调整字符集
- --collation-server=utf8mb4_unicode_ci # 调整排序规则
- --default-authentication-plugin=mysql_native_password # 使用兼容的密码插件
volumes:
# 核心数据持久化
- ./volumes/mysql/data:/var/lib/mysql # 数据库文件存储位置(必须持久化)
# 备份文件持久化
- ./volumes/mysql/backup:/home/backup # 自定义备份文件存储路径(可选)
# 日志文件持久化
- ./volumes/mysql/logs:/var/log/mysql # 包含error.log/slow.log等(可选)
# 配置文件持久化
# - ./volumes/mysql/conf:/etc/mysql/conf.d # 自定义配置文件目录(可选)
# 初始化脚本目录
# - ./volumes/mysql/init:/docker-entrypoint-initdb.d # 初始化SQL脚本(可选)
ports:
- "3306:3306" # 映射标准mysql端口(避免冲突)
redis:
image: redis:7.4-alpine # 推荐使用版本号
container_name: xxx_redis # 指定容器名称(避免冲突)
restart: always # 自动重启
environment:
- TZ=Asia/Shanghai # 时区设置
- REDIS_PASSWORD=your_passwd # 设置访问密码(可选)
volumes:
# 数据持久化目录(包含RDB快照和AOF文件)(建议持久化)
- ./volumes/redis/data:/data
# 自定义配置文件目录(可选)
# - ./volumes/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
# 日志目录(需在配置中启用日志文件)(可选)
# - ./volumes/redis/logs:/var/log/redis
ports:
- "6379:6379" # 映射标准redis端口(避免冲突)
nginx:
image: nginx:stable-alpine # 推荐使用版本号
container_name: xxx_nginx # 指定容器名称(避免冲突)
restart: always # 自动重启
environment:
TZ: Asia/Shanghai # 时区设置
volumes:
# 核心配置文件
- ./volumes/nginx/conf/nginx.conf:/etc/nginx/nginx.conf # 主配置文件(必须持久化)
- ./volumes/nginx/conf/conf.d:/etc/nginx/conf.d # 子配置文件目录(必须持久化)
- ./volumes/nginx/conf/snippets:/etc/nginx/snippets # 通用配置片段(建议持久化)
# 网站内容
- ./volumes/nginx/html:/usr/share/nginx/html # 静态网站根目录(必须持久化)
# 日志文件
- ./volumes/nginx/logs:/var/log/nginx # 访问日志和错误日志(可选)
# SSL证书
# - ./volumes/nginx/ssl:/etc/nginx/ssl # SSL证书存储目录(可选)
# 其他资源
# - ./volumes/nginx/tmp:/var/cache/nginx # 缓存临时文件(可选)
ports:
- "80:80" # HTTP端口
# - "443:443" # HTTPS端口
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)