
keinos/sqlite3基于最新源代码构建的SQLite3 Alpine Docker镜像。
bashdocker pull keinos/sqlite3:latest
3.47.2-20241207-tini起,镜像默认使用Tini作为init进程。(参见PR #65)
SIGTERM或SIGINT信号(如docker stop)时能优雅停止。alpine:latest自3.50.4版本起,镜像使用Cosign签名。验证结果应包含“The cosign claims were validated”。(参见issue #86和#88)
bash# 获取摘要 DIGEST=$(docker buildx imagetools inspect "docker.io/keinos/sqlite3:latest" --format '{{json .}}' | jq -r '.manifest.digest') # 验证 cosign verify \ --certificate-identity '[***] \ --certificate-oidc-issuer '[***] \ "docker.io/keinos/sqlite3@${DIGEST}"
shellsession$ docker sbom keinos/sqlite3:latest Syft v0.43.0 ✔ Loaded image ✔ Parsed image ✔ Cataloged packages [14 packages] NAME VERSION TYPE alpine-baselayout 3.6.5-r0 apk alpine-baselayout-data 3.6.5-r0 apk alpine-keys 2.4-r1 apk apk-tools 2.14.4-r0 apk busybox 1.36.1-r29 apk busybox-binsh 1.36.1-r29 apk ca-certificates-bundle 20240226-r0 apk lib***3 3.3.1-r0 apk libssl3 3.3.1-r0 apk musl 1.2.5-r0 apk musl-utils 1.2.5-r0 apk scanelf 1.3.7-r2 apk ssl_client 1.36.1-r29 apk zlib 1.3.1-r1 apk
shellsession$ docker pull keinos/sqlite3:latest **snip**
shellsession$ docker pull keinos/sqlite3:3.44.2 ...
shellsession$ docker build -t sqlite3:local [***] ...
在容器内交互式运行sqlite3命令:
shellsession$ docker run --rm -it -v "$(pwd):/workspace" -w /workspace keinos/sqlite3 SQLite version 3.28.0 2019-04-16 19:49:53 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. sqlite> .open ./sample.db sqlite> CREATE TABLE table_sample(timestamp TEXT, description TEXT); sqlite> INSERT INTO table_sample VALUES(datetime('now'),'First sample data. Foo'); sqlite> INSERT INTO table_sample VALUES(datetime('now'),'Second sample data. Bar'); sqlite> .quit $ ls sample.db
sqlite3 --version命令:shellsession$ docker run --rm keinos/sqlite3 sqlite3 --version 3.38.2 2022-03-26 13:51:10 d33c709cc0af66bc5b6dc6216eba9f1f0b40960b9ae83694c986fbf4c1d6f08f
shellsession$ ls sample.db $ docker run --rm -it -v "$(pwd):/workspace" keinos/sqlite3 sqlite3 /workspace/sample.db -header -column 'SELECT rowid, * FROM table_sample;' rowid timestamp description ----- ------------------- ----------------------- 1 2022-04-16 14:09:52 First sample data. Foo 2 2022-04-16 14:09:58 Second sample data. Bar
容器包含简单测试脚本,可验证容器及sqlite3二进制文件是否正常工作(不适用于HEALTHCHECK):
shellsession$ docker run --rm keinos/sqlite3 /run-test.sh - Creating test DB ... created rowid timestamp description ----- ------------------- ----------------------- 1 2022-04-16 14:18:34 First sample data. Hoo 2 2022-04-16 14:18:34 Second sample data. Bar - Testing ... 1st row value ... OK 2nd row value ... OK - Test result: success $ echo $? 0
若基于alpine构建镜像,可从本镜像复制sqlite3二进制文件:
DockerfileFROM keinos/sqlite3:latest AS sqlite3 FROM alpine:latest COPY --from=sqlite3 /usr/bin/sqlite3 /usr/bin/sqlite3 ENV \ USER_SQLITE=sqlite \ GROUP_SQLITE=sqlite RUN \ addgroup -S $GROUP_SQLITE && \ adduser -S $USER_SQLITE -G $GROUP_SQLITE ... 执行其他操作 ...

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务