首页
/ 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项目吧!

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

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
178
262
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
867
513
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
183
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
265
305
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
598
57
GitNextGitNext
基于可以运行在OpenHarmony的git,提供git客户端操作能力
ArkTS
10
3