千鋒Linux雲端計算教程全套影片合集:Dockerfile詳解(二)

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

在本章節中將和大家講解:Dockerfile的第二部分:

千鋒Linux雲端計算教程全套影片合集:Dockerfile詳解(二)

Dockerfile

FROM 指令

主要作用是指定一個映象作為構建自定義映象的基礎映象,在這個基礎映象之上進行修改定製。

這個指令是 Dockerfile 中的必備指令,同時也必須是第一條指令。

在 Docker Store 上有很多高質量的官方映象,可以直接作為我們的基礎映象。

作為服務類的,如 Nginx Mongo 等

用於開發的, 如 Python golang

作業系統類, 如 Centos ubuntu

除了一些現有的映象,Docker 還有一個特殊的映象 scratch

這個映象是虛擬的,表示空白映象

FORM scratch

這以為著這將不以任何映象為基礎映象。

可以把可執行的二進位制檔案複製到映象中直接執行,容器本身就是和宿主機共享 Linux核心的。

使用 Go 語言開發的應用很多會使用這種方式來製作映象,這也是為什麼有人認為 Go 是特別適合容器微服務架構的語言的原因之一。

千鋒Linux雲端計算教程全套影片合集:Dockerfile詳解(二)

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

製作自己的 Hello world

  1. 在任意一臺 Linux 機器上,安裝 gcc
  2. 檢視有沒有安裝

[root@localhost hello_qf]# rpm -qa gcc glibc-static

glibc-static-2.17-222.el7.x86_64

gcc-4.8.5-11.el7.x86_64

沒有的話,進行安裝即可

[root@localhost hello_qf]# yum install gcc glibc-static

  1. 編輯 C 原始碼檔案

[root@localhost docker]# cat hello.c

#include <stdio.h>

int main()

{

printf("Hello, Yangge! \n");

return 0;

}

  1. 將原始碼檔案編譯為可執行的二進位制檔案

[root@localhost hello_qf]# gcc --static hello.c -o hello

編譯好後,測試一下

[root@localhost hello_qf]# ls

hello hello.c

# hello 是我們編譯好的二進位制檔案

# hello.c 是 C 的原始碼檔案

[root@localhost hello_qf]# ./hello

Hello Yangge # 輸出結果,說明編譯成功

編輯

千鋒Linux雲端計算教程全套影片合集:Dockerfile詳解(二)

  1. 編輯 Dockerfile

在有 hello 二進位制的檔案目錄下,編譯 Dockerfile 檔案,內容如下:

[root@localhost hello_qf]# ls

Dockerfile hello hello.c

[root@localhost hello_qf]# cat Dockerfile

FROM scratch

ADD hello /

CMD ["/hello"]

  • ADD 是把當前目錄下的 hello 文件複製到 容器中的根目錄下
  • CMD 執行根目錄下的 hello 檔案
  • 構建新的映象


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

相關文章