Linux雲端計算教程全套影片合集:關於Alpine Linux

千鋒雲端計算發表於2020-03-20

Alpine Linux是一款獨立的非商業性通用Linux發行版,專為那些瞭解安全性,簡單性和資源效率的高階使用者而設計。

Linux雲端計算教程全套影片合集:關於Alpine 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)和堆疊粉碎保護。這些主動安全功能可防止利用整個類別的零日等漏洞。

Linux雲端計算教程全套影片合集:關於Alpine Linux

插個小訊息,也方便想學習的同學,在文章下方留言即可試聽課程外加領取千鋒HTML5、UI互動設計、PHP、Java+雲資料、大資料開發、VR/AR/Unity遊戲開發、Python人工智慧、Linux雲端計算、全棧軟體測試、網路安全等全部的影片學習教程。

LABEL 指令:

LABEL 指令用於指定一個映象的描述資訊

該LABEL指令將後設資料新增到映象中。

LABEL是一個鍵值對。

要在LABEL值中包含空格,請像在命令列解析中一樣使用引號和續行符\。

Linux雲端計算教程全套影片合集:關於Alpine Linux

幾個用法示例:

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 <key> <value>
  • ENV <key1>=<value1> <key2>=<value2>...

示例:

推薦的方式,易讀

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 <command>(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 路徑,否則變數可能不會生效。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2681725/,如需轉載,請註明出處,否則將追究法律責任。

相關文章