0x00 前言

Alpine Linux是一个面向安全的轻型的Linux发行版,基于Alpine Linux的超小型Docker镜像,大小只有5MB,并且可以访问比其他基于BusyBox的镜像更完整的包存储库。 Alpine Linux采用了 musl libcbusybox以减小系统的体积和运行时资源消耗,由于小巧、功能完备,非常适合用于作为容器的基础镜像。

Alpine Linux有以下特点:

  • 小巧

Alpine Linux是围绕musl libcbusybox构建的。这使得它比传统的GNU / Linux发行版更小,资源效率更高。容器不需要超过8 MB,最小的磁盘安装需要大约130 MB的存储空间。不仅可以获得完全成熟的Linux环境,还可以从存储库中获得大量的软件包。

二进制包被稀释和拆分,可以更好地控制安装的内容,从而使环境尽可能小而有效。

  • 简单

Alpine Linux是一个非常简单的发行版,它会尽量避免使用。它使用自己的包管理器名为apk,OpenRC init系统,提供了一个简单,清晰的Linux环境。然后,您可以添加项目所需的软件包,无论是构建iSCSI存储控制器,薄薄的邮件服务器容器,还是坚如磐石的嵌入式交换机,没有别的办法阻碍。

  • 安全

Alpine Linux的设计考虑了安全性。内核使用grsecurity / PaX的非官方端口进行修补,所有userland二进制文件都编译为具有堆栈粉碎保护的位置独立可执行文件(PIE)。这些主动安全功能可防止利用整个类的零日漏洞和其他漏洞。

0x01 镜像源

1.1 官方镜像源列表:http://rsync.alpinelinux.org/alpine/MIRRORS.txt

1.2 国内镜像源:

  • 清华TUNA镜像源列表:https://mirror.tuna.tsinghua.edu.cn/alpine/MIRRORS.txt
  • 中科大镜像源:http://mirrors.ustc.edu.cn/alpine/MIRRORS.txt
  • 阿里云镜像源:http://mirrors.aliyun.com/alpine/MIRRORS.txt

1.3 配置软件源

# vi /etc/apk/repositories# 添加自己要配置的源,然后保存退出
http://dl-cdn.alpinelinux.org/alpine/
http://nl.alpinelinux.org/alpine/
http://uk.alpinelinux.org/alpine
http://dl-2.alpinelinux.org/alpine/

0x02 apk软件包管理

介绍

alpine提供了比较好用的软件包管理工具apk,通过该命令可以下载、删除、升级软件等,但是apk和apt-get以及yum语法上还是有区别的。

命令

通过apk –help可以查看apk有哪些命令

命令用法–以nginx为例

2.1 升级当前软件包

  • apk update 更新本地镜像源
  • apk upgrade 升级所有已安装的软件包,一般包括内核
  • apk add –upgrade nginx 升级指定软件包

2.2 查询软件包的信息

  • apk info 列出已经安装的软件包
  • apk info nginx 显示软件包的信息
  • apk info -a nginx 显示软件包完整的信息

2.3 搜索软件包

  • apk search 查找所有可用软件包
  • apk search -v 所以可用软件包及其描述内容
  • apk search -v ‘nginx’ 通过软件包名称查找软件包
  • apk search -v -d ‘nginx’ 通过描述文件查找特定的软件包

2.4 安装软件包

  • apk add –no-cache nginx

2.5 卸载并删除软件包

  • apk del nginx

0x03 OpenRC init系统

在类Unix系统上,OpenRC是一个基于依赖的init。由于0.25 OpenRC包含openrc-init,它可以替换/ sbin/init,但init程序的默认提供程序是SysVinit for OpenRC。与Linux一样,OpenRC也可用于多个BSD系统。

OpenRC是TrueOS,Gentoo,Alpine Linux,Parabola GNU / Linux-libre,Artix Linux和其他类似unix 系统的默认初始化系统,而其他一些像Devuan则提供它作为选项

3.1 openrc的安装

apk add --no-cache openrc

3.2 rc-update - 不同运行级增加或者删除服务

rc-update add nginx 增加一个服务
rc-update del nginx 删除一个服务

3.3 rc-status - 运行级的状态管理

rc-status  查看默认运行级别的状态
rc-status -a 查看所有运行级别的状态

3.4 rc-service - 管理服务的状态

rc-service nginx start 启动一个服务
rc-service nginx stop  停止一个服务
rc-service nginx restart  重启一个服务

3.5 openrc - 管理不同的运行级

Alpine Linux可用的运行级

  • default

  • sysinit

  • boot

  • single

  • reboot

  • shutdown

3.5 关机重启指令 - 在容器中试了好像没反应

  • reboot 重启系统,类似于shutdown -r now。
  • halt 关机,类似于shutdown -h now。
  • poweroff 关机

0x04 安装nginx

4.1 安装nginx软件并更新

  • apk –update add –no-cache nginx

4.2 启动nginx(二选一执行)

  • /etc/init.d/nginx start
  • rc-service nginx start

4.3 将nginx添加到启动服务中,下次开机自动运行

  • rc-update add nginx

4.4 测试

  • curl http://127.0.0.1

Docker微容器之Alpine Linux 初体验相关推荐

  1. STM32MP157系列教程连载-Linux应用开发篇1:STM32MP1微处理器之Ubuntu安装与体验

    STM32MP157系列教程连载-Linux应用开发篇1:STM32MP1微处理器之Ubuntu安装与体验 截至目前上传的博文已经有6篇了(硬件4篇,安装环境2篇),最近手头在搞STM32MP157C ...

  2. Docker的准备,安装,初体验

    想实践一下Docker,手头是个windows电脑,由于想在linux下实践,所以第一步是装虚拟机,我用的是VMware Workstation 12 Player,虚拟机文件用的是ubuntu-16 ...

  3. 云起实验室有奖征文,精美好礼等你来领——《我的linux初体验》

    简介:云起实验室面向开发者提供免费云产品资源.沉浸式体验环境.手把手操作手册,帮助开发者实现上云第一站,快速学习了解云计算及云产品. 今年七月份,社区平台全面升级,特别推出"乘风者计划&qu ...

  4. SQL On Linux 初体验

    SQL On Linux初体验 备注:Blog具有时效性, 内容随着更新会发现变化,时间是2017年5月22日 SQL On Linux版本很快就会正式发布,本文进行了安装和常用的操作,感受还不错,废 ...

  5. esp32 嵌入式linux,初体验乐鑫 ESP32 AT 指令-嵌入式系统-与非网

    乐鑫 AT 固件初体验 初步体验 AT 指令下 TCP 数传,为了验证 AT 命令解析器. 前往乐鑫官网 下载最新版本 AT 固件和 AT 指令集手册. 硬件准备 本文使用乐鑫的 ESP-WROOM- ...

  6. 服务器硬件与 Linux 初体验

    文章目录 一.服务器硬件知识 1.服务器概述 2.服务器分类 2.1 按照体系架构分类 2.1.1 非 x86 服务器 2.1.2 x86 服务器 2.2 按照应用层次分类 2.3 按照机箱结构分类 ...

  7. 服务器与Linux初体验

    服务器硬件知识 1.服务器概述: 电源 电源相当于人体的心脏,需保障电力供应,如果要买服务器,应选择质量好一点的电源. 另外需要注意的是,在实际使用场景中,如果只是配置一个服务器负责核心业务,那么最好 ...

  8. 腾讯微服务框架Tars的初体验

    最近研究了一下腾讯的微服务体系开发框架. 搭建过程:https://github.com/TarsCloud/Tars/blob/master/Install.zh.md 写一个HelloWorld: ...

  9. Linux初体验之VIM

    上古神器vim-基本命令 Vim 是 Linux 系统上的最著名的文本/代码编辑器,也是早年的 Vi 编辑器的加强版,而 gVim 则是其 Windows 版.它的最大特色是完全使用键盘命令进行编辑, ...

最新文章

  1. 改变TabNavigator控件第一个tab标签的偏移量.
  2. 敏捷开发:软件与文档
  3. Matlab——数值计算——单个代数方程 代数方程组
  4. App-V 4.6 SP1系列之五包加速器的制作
  5. SpringCloud教程- 路由网关Zuul (SpringCloud版本Greenwich.SR4)
  6. CTF中智能合约部署交互基础
  7. session每次请求都是新建的吗_每次去火车站都是提心吊胆,感觉就像进了贼窝一样,有同感的吗?...
  8. 修改am335x 制作android sd启动卡的bug
  9. POJ3163 King of Fighters 状压DP/费用流
  10. 计算机二级c选择题怎么准备,马上计算机二级考试,你准备得怎么样了?
  11. python在线编辑器手机-QPython,一个在手机上运行Python的神器
  12. c#modbus tcp通讯助手开源_Modbus 调试助手的使用(一)
  13. 中国人民公安大学(PPSUC) 网络对抗技术作业一
  14. Atitit.软件仪表盘(2)--vm子系统--资源占用监测
  15. php 3cschool,W3Cschool中的PHP测试题题目以及答案
  16. 《麦肯锡方法》第11章 用图表说明问题-思维导图
  17. C语言网络编程实战之线上五子棋游戏(二)
  18. 7.arm汇编 bic和orr指令
  19. 在火狐3中安装google工具栏
  20. 生命的枯榮竟是如此慘厲

热门文章

  1. 1.5亿元融资,杉岩数据加速以数据为核心的新存储市场落地
  2. Linux-看完这篇Linux基本的操作就会了(转)
  3. 推荐一款小巧而强大的截屏软件 FastStone Capture
  4. Mac上如何降级系统?Mac系统降级图文教程
  5. 电子科技大学 编译原理期末女娲补天
  6. 新旧笔记本电脑怎么样转移数据?换电脑数据如何迁移
  7. MATLAB实现多重共线性诊断及处理
  8. Microsoft_SQL_Server_自定义函数整理大全
  9. 股市风暴下的雪球架构改造经验分享
  10. 白云机场查获具有充电宝功能的时尚女包