Raspbian Debian Buster Docker 应用实例

本文介绍了如何在Raspbian系统上使用Docker,从选择基础镜像、创建Dockerfile到构建Python应用镜像,最终实现LED灯的呼吸效果。详细步骤包括设置国内镜像源、安装依赖、编写Dockerfile以及运行容器。
摘要由CSDN通过智能技术生成

Raspbian Debian Buster Docker 应用实例

Raspbian下安装 Docker 前面已经介绍过,这里不在赘述,不熟悉的可跳转查看:

Raspbian Debian Buster Docker 安装和使用

掌握了树莓派中Docker的安装和基本命令的使用,需要写一个实例熟悉一下使用Docker进行开发的思路,顺便加深一下对Docker的理解。

构建基础镜像
基础镜像概念

在开发应用程序时,我们通常会以一个镜像为基础,我们在其上进行定制,这就是基础镜像,基础镜像只是为应用程序提供依赖包。

比如我们要构建一个Python应用的镜像,选择一个Python镜像作为基础镜像会比选择一个普通的系统镜像作为基础镜像更方便一些,因为该镜像预装了Python,并且提供多个不同Python版本的选项。

Docker Hub 上有大量的高质量的官方镜像可以使用。
Raspberrypi是arm架构,arm平台不能使用x86镜像,Raspbian 可使用的镜像可访问 arm32v7

基础镜像分类
1. 操作系统镜像

如 ubuntu、debian、centos、fedora、alpine 等,这些操作系统的软件库为我们提供了更广阔的扩展空间。

注:Docker镜像的最底层是bootfs(bootloader和kernel),Linux刚启动会加载bootfs文件系统;rootfs在bootfs之上,就是各种不同的操作系统发行版,比如Ubuntu, Centos,Debian等等;平时我们安装进虚拟机的CentOS都是好几个G,在Docker这里才几百甚至才几十M,是因为rootfs可以很小,只需要包括最基本的命令、工具和程序库就可以了,底层直接调用宿主的kernel

2. 编程语言镜像

如 node、oraclejdk,openjdk、python、ruby、golang 等,方便开发、构建、运行各种语言应用。

像 Python镜像还会有多种版本,比如Alpine Linux(尺寸超小,缺少Linux环境中的glibc,而采用的musl,编译时间超长)、Debian Buster(基础库完整,尺寸较大,磁盘利用率低)、Debian Buster slim(Debian Buster的“瘦身”版本,尺寸小,磁盘利用率高,缺少通用的包)等

3. 应用镜像

如 nginx、redis、mongo、mysql、tomcat 等

注:tomcat镜像很大,是因为该镜像需要以OS(rootfs)、JDK作为基础

4. 空白镜像(scratch)

不以任何系统为基础,对于 Linux下静态编译的程序来说,并不需要有操作系统提供运行时支持,所需的一切库都已经在可执行文件里了,因此直接 from scratch 会让镜像体积更加小巧

基础镜像选择

我们是初次使用,先直接选择 arm32v7/Python镜像 (不过该镜像相较于其它镜像并没有明显的优势,后期再用Debian Buster实现一次)

准备工作,Docker
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OurQueen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值