alpine/sqlite 是基于 Alpine Linux 构建的轻量级 SQLite3 容器化镜像,集成了 SQLite3 数据库的命令行工具。SQLite3 是一款嵌入式关系型数据库,以其零配置、无需服务进程、文件型存储等特性广泛应用于轻量级数据存储场景。该镜像旨在提供快速、便捷的 SQLite3 运行环境,适用于开发测试、临时数据处理或轻量级应用的数据持久化需求。
通过 docker run 命令启动容器,指定数据库文件和需执行的 SQL 操作。核心语法如下:
bashdocker run [选项] alpine/sqlite <数据库文件> <SQL命令|SQL脚本>
| 参数 | 说明 |
|---|---|
-ti | 分配交互式终端,支持命令行输入(用于交互式操作) |
--rm | 容器退出后自动删除,避免残留容器文件 |
-v <宿主机路径>:<容器路径> | 挂载宿主机目录到容器内,实现数据库文件持久化(必填,否则数据会丢失) |
-w <容器工作目录> | 设置容器内工作目录,建议与挂载路径一致,便于文件路径管理 |
SQLite3 数据库以单一文件存储,容器内默认无持久化存储,需通过挂载宿主机目录实现数据保留。示例中挂载当前目录到容器 /apps 目录,数据库文件将保存在宿主机当前路径下。
若指定的数据库文件(如 test.db)不存在,容器将自动创建。执行以下命令创建 users 表:
bash# 挂载当前目录到容器 /apps,在 /apps 目录下操作 test.db docker run -ti --rm -v $(pwd):/apps -w /apps alpine/sqlite test.db "CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT);"
再次执行相同命令,因表已存在,将返回错误提示,确认表创建成功:
bashdocker run -ti --rm -v $(pwd):/apps -w /apps alpine/sqlite test.db "CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT);"
输出:
Error: in prepare, table users already exists CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT); ^--- error here
宿主机当前目录下将生成 test.db 文件,验证数据持久化成功:
bashls -l test.db
通过 -ti 参数进入 SQLite3 交互式终端,手动执行多条命令:
bashdocker run -ti --rm -v $(pwd):/apps -w /apps alpine/sqlite test.db
进入终端后,可执行 SQL 命令(以 .exit 退出):
sqlsqlite> INSERT INTO users (name) VALUES ('Alice'); sqlite> SELECT * FROM users; 1|Alice sqlite> .exit
将 SQL 命令写入脚本文件(如 init.sql),通过容器执行:
init.sqlsqlCREATE TABLE products (id INTEGER PRIMARY KEY, name TEXT, price REAL); INSERT INTO products (name, price) VALUES ('Laptop', 4999.99); INSERT INTO products (name, price) VALUES ('Phone', 2999.99);
bashdocker run -ti --rm -v $(pwd):/apps -w /apps alpine/sqlite test.db < init.sql
通过交互式终端查询:
bashdocker run -ti --rm -v $(pwd):/apps -w /apps alpine/sqlite test.db sqlite> SELECT * FROM products; 1|Laptop|4999.99 2|Phone|2999.99 sqlite> .exit
创建 docker-compose.yml 实现更便捷的启动配置:
yamlversion: '3' services: sqlite: image: alpine/sqlite volumes: - ./data:/apps # 宿主机 ./data 目录挂载到容器 /apps,持久化数据库文件 working_dir: /apps command: test.db # 启动后进入交互式终端(若需执行命令,替换为 "test.db 'SQL命令'") tty: true # 分配终端 stdin_open: true # 保持标准输入打开
启动容器:
bashdocker-compose up
进入交互式终端后即可执行 SQL 操作,数据保存在宿主机 ./data/test.db。
-v 参数挂载宿主机目录,否则容器退出后数据库文件将丢失。chmod 777 ./data,生产环境按需调整)。来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429