Linux云计算教程全套视频合集:关于Alpine Linux

Alpine Linux是一款独立的非商业性通用Linux发行版,专为那些了解安全性,简单性和资源效率的高级用户而设计。

Alpine Linux围绕musl libc和busybox构建。这使得它比传统的GNU / Linux发行版更小,更节省资源。一个容器需要不超过8 MB的空间,而对磁盘的最小安装需要大约130 MB的存储空间。您不仅可以获得完整的Linux环境,还可以从存储库中选择大量的软件包。

二进制软件包被缩减和拆分,使您可以更好地控制安装的内容,从而使您的环境尽可能地小巧高效。

Alpine Linux是一个非常简单的发行版,它会尽量避免使用。它使用自己的包管理器,称为apk,OpenRC init系统,脚本驱动的设置,就是这样!这为您提供了一个简单,清晰的Linux环境,没有任何噪音。然后,您可以添加项目所需的软件包,因此无论是构建家用PVR还是iSCSI存储控制器,薄型邮件服务器容器或坚如磐石的嵌入式交换机,其他都不会挡道。

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

插个小消息,也方便想学习的同学,在文章下方留言即可试听课程外加领取千锋HTML5、UI交互设计、PHP、Java+云数据、大数据开发、VR/AR/Unity游戏开发、Python人工智能、Linux云计算、全栈软件测试、网络安全等全部的视频学习教程。

LABEL 指令:

LABEL 指令用于指定一个镜像的描述信息

该LABEL指令将元数据添加到镜像中。

LABEL是一个键值对。

要在LABEL值中包含空格,请像在命令行解析中一样使用引号和续行符\。

几个用法示例:

LABEL maintainer=“yangge@qf.com” LABEL “com.example.vendor”=“ACME Incorporated” LABEL com.example.label-with-value=“foo” LABEL version=“1.0” LABEL description=“This text illustrates \ that label-values can span multiple lines.”

一个镜像可以有多个LABEL标签。您可以在一行中指定多个标签。并且目前的版本不再会影响到镜像的大小了。

但是仍然可以把他们写在一行或用反斜线进行续航

LABEL multi.label1=“value1” multi.label2=“value2” other=“value3”

LABEL multi.label1=“value1” \

multi.label2=“value2” \

other=“value3”

有继承关系的镜像,标签也会有面向对象编程中继承的关系和特性

要查看镜像的 LABEL 信息,请使用该docker inspect命令。

ENV 指令

用于设置环境变量

格式有两种:

ENV
ENV = =…
示例:

推荐的方式,易读

ENV VERSION=1.0 DEBUG=on \

NAME=“Happy Feet”

不推荐都方式,不易读

ENV NODE_VERSION 7.2.0

其他指令使用:

RUN echo $NODE_VERSION

下列指令可以支持环境变量: ADD、COPY、ENV、EXPOSE、LABEL、USER、WORKDIR、VOLUME、STOPSIGNAL、ONBUILD。

RUN 指令

RUN 指令是在容器内执行 shell 命令,默认会是用 /bin/sh -c 的方式执行。

执行命令的两种方式

RUN (shell形式,该命令在shell中运行)
RUN [“executable”, “param1”, “param2”](exec形式)
之前说过,Dockerfile 中每一个指令都会建立一层,RUN 也不例外。每一个 RUN 的行为,就和刚才我们手工建立镜像的过程一样:新建立一层,在其上执行这些命令,执行结束后,commit 这一层的修改,构成新的镜像。

注意:Union FS 是有最大层数限制的,比如 AUFS,曾经是最大不得超过 42 层,现在是不得超过 127 层。

所以,在使用 shell 方式,尽量多的使用续行符\

RUN /bin/bash -c 'source $HOME/.bashrc; \

echo $HOME’

写 Dockerfile 的时候,要经常提醒自己,这并不是在写 Shell 脚本,而是在定义每一层该如何构建。注意当使用 exec 方式时,需要明确指定 shell 路径,否则变量可能不会生效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值