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标签。您可以在一行中指定多个标签。并且目前的版本不再会影响到镜像的大小了。
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 路径,否则变量可能不会生效。