
socrata/base-bionicsocrata/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 的自定义镜像,并添加服务脚本:
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 模板中的变量 | 需通过外部环境变量传入 |



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