首页
/ Debian 10 (Buster) 基础镜像 osixia/light-baseimage

Debian 10 (Buster) 基础镜像 osixia/light-baseimage

2024-06-19 08:02:13作者:管翌锬

Docker Pulls Docker Stars MicroBadger Layers

查看镜像仓库

最新版本:1.3.3,更新日志:查看Changelog

项目简介

osixia/light-baseimage 是一个基于 Debian 10(Buster)的Docker镜像,它让你能够快速可靠地构建多进程或单进程图像,而且保持最小的层和优化的构建流程。该镜像是基于 phusion/baseimage-docker 的出色工作而创建。

同时提供其他基础分布:

技术分析

这个镜像的主要目标是作为构建你自己的Docker镜像的基础。它的特性包括:

  • 轻量级设计,基于Debian 10 (Buster),适用于快速构建。
  • 简化了多进程和单进程图像的构建过程,通过最小化的层和优化的构建方式。
  • 提供了简洁的目录结构和服务文件,以方便管理和运行程序。

应用场景

  • 作为开发高效能和可扩展Docker服务的基础镜像。
  • 创建多进程容器,例如,结合runit、cron和syslog-ng-core等服务进行管理。
  • 在需要最小化镜像大小和减少依赖时使用。

项目特点

  • 使用Docker工具有效地构建和压缩镜像,减少层数。
  • 提供标准的服务目录结构,便于安装、设置和启动服务。
  • 可以从.yaml和.json文件中读取环境变量,方便配置。
  • 容器启动后会删除启动文件中的关键信息,确保安全性。

开始使用

让我们通过一个简单的Nginx实例了解如何构建基于osixia/light-baseimage的镜像。

镜像目录结构

主要包含以下目录:

  • /container/environment:存储环境变量文件。
  • /container/service:放置要安装和运行的服务。
  • /container/service-available:存放可供按需下载和启动的服务。
  • /container/tool:提供镜像工具。

运行时还将创建:

  • /container/run:用于存储容器运行时的环境信息和服务运行数据。

单进程镜像示例

概览

我们将搭建一个基础的Nginx安装为例。具体示例位于 example/single-process-image 目录下。

首先,我们创建镜像的目录结构:

  • single-process-image:根目录
  • single-process-image/service:存放Nginx服务的目录
  • single-process-image/environment:环境文件目录
  • single-process-image/Dockerfile:Dockerfile用于构建镜像

Dockerfile

在Dockerfile中,我们要做的是:

  • 使用osixia/light-baseimage。
  • 使用apt-get下载Nginx并清理相关文件。
  • 将服务目录添加到镜像中。
  • 安装服务并清理。
  • 添加环境目录。
  • 设置暴露的端口和挂载的卷。
FROM osixia/light-baseimage:1.3.3

RUN apt-get -y update \
    && LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
       nginx \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

ADD service /container/service
RUN /container/tool/install-service
ADD environment /container/environment/99-default
VOLUME /var/www/
EXPOSE 80 443

在此示例中,Dockerfile负责获取Nginx,但所有初始设置将在install.sh中完成,以充分利用Docker构建缓存。

服务文件

  • install.sh:仅包含服务初始化设置。文件下载和apt-get命令都在Dockerfile中执行,以便在构建期间提高效率。
  • startup.sh:用于根据运行时环境定制服务设置,并准备好运行process.sh
  • process.sh:将运行的服务脚本。

了解更多细节,请参考项目仓库内的说明文档。现在就加入osixia/light-baseimage,打造属于你的高效Docker项目吧!

登录后查看全文
热门项目推荐