
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
socrata/base-bionic 是基于 Ubuntu 18.04 (Bionic Beaver) 的基础 Docker 镜像,旨在为构建其他容器提供一套标准化的模式和工具集。其核心定位是作为基础镜像,为上层应用容器提供统一的运行时环境和基础工具,简化基于 Ubuntu 18.04 的容器构建流程。
ship 入口点执行 /etc/ship.d/ 目录下的脚本,实现容器初始化和服务启动逻辑。ship.d 脚本使容器能够感知主机环境,并自动创建环境变量 ARK_HOST(主机 IP)和 ARK_HOSTNAME(主机名)。/etc/ship.d/run 脚本,也可通过 CMD 指定执行 /etc/ship.d/ 目录下的其他脚本或容器内的可执行文件。.j2 后缀)ship,用于执行 /etc/ship.d/ 目录下的脚本。ship.d 脚本,容器可感知主机环境,自动生成 ARK_HOST(主机 IP)和 ARK_HOSTNAME(主机名)环境变量。config.ini.j2)处理为 config.ini。拉取镜像:
bashdocker pull socrata/base-bionic
运行容器:
/etc/ship.d/run 脚本:
bashdocker run --rm -t -i socrata/base-bionic
/etc/ship.d/ 目录下的脚本或容器内可执行文件:
bash# 启动 bash shell(需确保 bash 在 PATH 中) docker run --rm -t -i socrata/base-bionic bash # 执行 /etc/ship.d/ 目录下的自定义脚本(如 migrate) docker run --rm -t -i socrata/base-bionic migrate
容器内执行脚本:
从容器内部通过 ship 命令执行 /etc/ship.d/ 目录下的脚本:
bash# 在容器内执行 /etc/ship.d/run ship [run]
通过 Dockerfile 构建基于 socrata/base-bionic 的自定义镜像,并添加服务脚本:
Dockerfile 示例
dockerfileFROM socrata/base-bionic # 添加服务启动脚本(run)和迁移脚本(migrate)到 /etc/ship.d/ 目录 ADD run /etc/ship.d/ ADD migrate /etc/ship.d/
脚本说明
run:服务启动脚本,用于启动应用服务。migrate:一次性迁移脚本,用于执行数据库迁移等初始化操作。运行自定义镜像
bash# 构建自定义镜像(假设镜像名为 awesome_sauce) docker build -t awesome_sauce . # 执行迁移脚本 docker run --rm -t -i awesome_sauce migrate # 默认执行服务启动脚本(/etc/ship.d/run) docker run --rm -t -i awesome_sauce
bash# 拉取镜像 docker pull socrata/base-bionic # 启动容器并默认执行 /etc/ship.d/run docker run --rm -t -i socrata/base-bionic # 启动容器并进入 bash 交互终端 docker run --rm -t -i socrata/base-bionic bash
准备脚本:
run 脚本(服务启动逻辑):
bash#!/bin/bash echo "Starting awesome service..." # 服务启动命令(如 ./app)
migrate 脚本(数据迁移逻辑):
bash#!/bin/bash echo "Running database migrations..." # 迁移命令(如 ./migrate-tool up)
构建镜像(Dockerfile 见上文):
bashdocker build -t awesome_sauce .
运行服务:
bash# 执行迁移 docker run --rm -t -i awesome_sauce migrate # 启动服务 docker run --rm -t -i -p 8080:8080 awesome_sauce
| 环境变量 | 描述 | 生成方式 |
|---|---|---|
ARK_HOST | 容器所在主机的 IP 地址 | 通过 ship.d 脚本自动生成 |
ARK_HOSTNAME | 容器所在主机的主机名 | 通过 ship.d 脚本自动生成 |
| 模板变量 | env_parse 模板中的变量 | 需通过外部环境变量传入 |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务