認識 Dockerfile 的 Entrypoint、CMD

閱讀時間約 4 分鐘

在 Dockerfile 需要 ENTRYPOINT、CMD 指令,當用 docker run 建立 container 的時候,才可以控制 container 預設啟動哪個程式。ENTRYPOINT、CMD 有各種不同的搭配,可以根據不同的情況使用,但我這邊只介紹其中一種用法:當成一般的 CLI 使用。關鍵如下:

  1. 安裝執行檔。
  2. 用 ENTRYPOINT 設定預設執行檔。
  3. 用 CMD 設定預設執行檔的預設參數。

Dockerfile,安裝執行檔:

FROM ubuntu:20.04

RUN apt-get update
RUN apt-get install -y figlet
RUN apt-get install -y toilet

設定預設執行檔是 figlet,預設參數是「Hello World!」:

ENTRYPOINT ["figlet"]
CMD ["Hello World!"]

建立 Docker Image:

docker build -t ft .

建立 Container,得到「figlet Hello World!」的結果:

$ docker run --rm ft
_ _ _ _ __ __ _ _ _
| | | | ___| | | ___ \ \ / /__ _ __| | __| | |
| |_| |/ _ \ | |/ _ \ \ \ /\ / / _ \| '__| |/ _` | |
| _ | __/ | | (_) | \ V V / (_) | | | | (_| |_|
|_| |_|\___|_|_|\___/ \_/\_/ \___/|_| |_|\__,_(_)

加上參數「Hello Linux Guy」,替換掉 Dockerfile 內 CMD 的參數,得到「figlet Hello Linux Guy」的結果:

$ docker run --rm ft Hello Linux Guy
_ _ _ _ _ _ ____
| | | | ___| | | ___ | | (_)_ __ _ ___ __ / ___|_ _ _ _
| |_| |/ _ \ | |/ _ \ | | | | '_ \| | | \ \/ / | | _| | | | | | |
| _ | __/ | | (_) | | |___| | | | | |_| |> < | |_| | |_| | |_| |
|_| |_|\___|_|_|\___/ |_____|_|_| |_|\__,_/_/\_\ \____|\__,_|\__, |
|___/

用 --entrypoint 更換預設執行檔,並加上參數「Hello」,得到「toilet Hello」的結果:

$ docker run --rm --entrypoint toilet ft Hello
m m ""# ""#
# # mmm # # mmm
#mmmm# #" # # # #" "#
# # #"""" # # # #
# # "#mm" "mm "mm "#m#"


以下是完整的 Dockerfile:

FROM ubuntu:20.04

RUN apt-get update
RUN apt-get install -y figlet
RUN apt-get install -y toilet

ENTRYPOINT ["figlet"]
CMD ["Hello World!"]
專注於 C#, DevOps 的工程師
留言0
查看全部
發表第一個留言支持創作者!
Docker network 會影響 Container: 是否可以透過網路存取其它的 Container。 是否可以存取網際網路(Internet)。 是否可以存取實體網路(Physical Network)。 Docker bridg
CI/CD Pipeline 是一連串自動化步驟,可以測試軟體,部屬應用程式。但實際上到底要做什麼事情呢?可以從 GitLab 的 Auto DevOps 了解。 Auto Dependency Scanning 掃描第三方函式庫的安全性漏洞。參考下圖: 如果是 .NET 6 可以用以下指令掃描:
Prometheus 提供 PromQL 讓我們對 metrics 查詢,可以查出最近 1 小時內的請求成功率,最近 30 分鐘內的請求延遲等等的資訊,下面用範例說明。 Request Per Second 此範例查詢「每秒的請求數量」,我用 Traefik 當作範例說明。 這幫我們得出以下結果:
API Gateway 是什麼? 參考上圖,API Gateway 是一個程式,位於 Client 和 Microservice 之間。當伺服器架構採用這種設計後,會有以下優點: 架構彈性 - 當伺服器架構需要調整的時候,Client 不需要調整(前提是 API 維持不變)。 IP Listing
我發現從統計學、電子、電腦繪圖的角度來看取樣,在說法上有點不同,但我認為大致上的概念是相同的。 資料實在是「太多了」,沒辦法拿這麼多的資料處理,但我們可以降低資料的數量,但和原本的資料大致上差不多,我們就可以做分析,得到我們想要的結果。 Reference:
監控的解決方案有很多種,我這裡選擇的是 Prometheus。實際上只有 Prometheus 還不夠,真正其實會安裝以下項目: 以上這些安裝項目都可以用 kube-prometheus-stack 這個專案提供的 helm chart 安裝。 用 helm 安裝: Reference:
Docker network 會影響 Container: 是否可以透過網路存取其它的 Container。 是否可以存取網際網路(Internet)。 是否可以存取實體網路(Physical Network)。 Docker bridg
CI/CD Pipeline 是一連串自動化步驟,可以測試軟體,部屬應用程式。但實際上到底要做什麼事情呢?可以從 GitLab 的 Auto DevOps 了解。 Auto Dependency Scanning 掃描第三方函式庫的安全性漏洞。參考下圖: 如果是 .NET 6 可以用以下指令掃描:
Prometheus 提供 PromQL 讓我們對 metrics 查詢,可以查出最近 1 小時內的請求成功率,最近 30 分鐘內的請求延遲等等的資訊,下面用範例說明。 Request Per Second 此範例查詢「每秒的請求數量」,我用 Traefik 當作範例說明。 這幫我們得出以下結果:
API Gateway 是什麼? 參考上圖,API Gateway 是一個程式,位於 Client 和 Microservice 之間。當伺服器架構採用這種設計後,會有以下優點: 架構彈性 - 當伺服器架構需要調整的時候,Client 不需要調整(前提是 API 維持不變)。 IP Listing
我發現從統計學、電子、電腦繪圖的角度來看取樣,在說法上有點不同,但我認為大致上的概念是相同的。 資料實在是「太多了」,沒辦法拿這麼多的資料處理,但我們可以降低資料的數量,但和原本的資料大致上差不多,我們就可以做分析,得到我們想要的結果。 Reference:
監控的解決方案有很多種,我這裡選擇的是 Prometheus。實際上只有 Prometheus 還不夠,真正其實會安裝以下項目: 以上這些安裝項目都可以用 kube-prometheus-stack 這個專案提供的 helm chart 安裝。 用 helm 安裝: Reference:
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
導言: 在電視節目《BoJack Horseman》中,節目製作人拉斐爾·鮑伯·韋克斯伯格寫下了一句引人深思的話:“當你戴上玫瑰色眼鏡看別人時,紅旗只是看起來像旗子。” 雖然這句話最初是指戀愛關係中的紅旗,但對於內省和自我認識也同樣適用。我們常常很難認識到自己內部的警示信號,因為我們往往會對自
Thumbnail
吃過、玩過、用過、聞過、洗過、欣賞過、享受過、接觸過、曾經種植但被毛毛蟲吃到掛掉過。真的是徹底體會柑橘類特別的歡樂力量,非常好玩啊!
Thumbnail
原文連結:https://zb.house/你必须认识当前影响潜力巨大的粉丝经济-chiliz/ 【本文章轉載自鑄幣局 - 提供專業的加密貨幣行業的研究成果的分析平台。】 “粉丝令牌让Chiliz与加密世界的联系更加紧密,这也说明加密货币将给主流社会的影响潜力巨大。” 项目愿景 团队 Sam Li
  尼采曾说:“聪明的人,只要可以正确认识自己,便什么也不会失去。”由此可知,正确认识自我,是走好人生路的关键,对于自我的评价,因以自己为衡量标准,而不应以外物或他人评价为衡量自我的标准。   以物喜,可能会造成盲目自大,以物悲,可能会造成盲目自卑,对于认识自我,我们应以实际情况为衡量标准。不以物
Thumbnail
不管傳產還是科技業,要能夠傳承就得要說故事,把故事寫成書,經驗能夠傳下去。沒有傳承就只能師徒制一輩子,新血極難加入,失去活力的產業必定走向夕陽,這才是夕陽產業真正的問題。
Thumbnail
各位以為,少掉幾家髒兮兮工廠沒差嗎?這些中小代工廠養活的人口數以百萬計,今天命脈被中國掌握,哪天波動一下就是數十萬人失業,或是無薪假影響百萬家庭。
Thumbnail
生產製程不是只有生產,還有前後處理各種項目。你以為傳產消失很好嗎?這代表的是相關產業,連同工廠附近的基本食衣住都消失掉,表面上關掉一間廠不過100人失業,連動到的終端人數可能超過10,000人。
Thumbnail
這個系列要談幾個主題,主要是要讓「非產業界」的人,了解現代產業的複雜,以及相關製程對環境的影響,受眾設定是非工科的人,以文法商組,且沒有在產業界,特別是傳產這一塊的為對象,希望這些朋友在談產業的去留,或是討論各種優惠與補貼,以及環保衛生政策的時候,能夠有更進一步的認識。
前言 投资心态:我是老板 涨跌原理  涨停跌停 两大风险 危险股票 三种获利 股票费用  交割制度 最佳消息来源 财报3步骤 除权、除息 指数VS个股 四大指标 结语   投资心态:我是老板 想要在股市赚钱,首先要建立老板心态。所
Thumbnail
文章索引 前言 历史寻根 何谓股票 股本/缴足资本 股票单位  四种类、四形式 结语 前言 众多理财工具中,股票应该算是最有知名度的明星。若想理财,这个工具必须懂得使用。一起进入股票的世界吧! 历史寻根:集资、分担、比例 地理大发现时期,哥伦布发现新大陆、麦哲伦团队
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
導言: 在電視節目《BoJack Horseman》中,節目製作人拉斐爾·鮑伯·韋克斯伯格寫下了一句引人深思的話:“當你戴上玫瑰色眼鏡看別人時,紅旗只是看起來像旗子。” 雖然這句話最初是指戀愛關係中的紅旗,但對於內省和自我認識也同樣適用。我們常常很難認識到自己內部的警示信號,因為我們往往會對自
Thumbnail
吃過、玩過、用過、聞過、洗過、欣賞過、享受過、接觸過、曾經種植但被毛毛蟲吃到掛掉過。真的是徹底體會柑橘類特別的歡樂力量,非常好玩啊!
Thumbnail
原文連結:https://zb.house/你必须认识当前影响潜力巨大的粉丝经济-chiliz/ 【本文章轉載自鑄幣局 - 提供專業的加密貨幣行業的研究成果的分析平台。】 “粉丝令牌让Chiliz与加密世界的联系更加紧密,这也说明加密货币将给主流社会的影响潜力巨大。” 项目愿景 团队 Sam Li
  尼采曾说:“聪明的人,只要可以正确认识自己,便什么也不会失去。”由此可知,正确认识自我,是走好人生路的关键,对于自我的评价,因以自己为衡量标准,而不应以外物或他人评价为衡量自我的标准。   以物喜,可能会造成盲目自大,以物悲,可能会造成盲目自卑,对于认识自我,我们应以实际情况为衡量标准。不以物
Thumbnail
不管傳產還是科技業,要能夠傳承就得要說故事,把故事寫成書,經驗能夠傳下去。沒有傳承就只能師徒制一輩子,新血極難加入,失去活力的產業必定走向夕陽,這才是夕陽產業真正的問題。
Thumbnail
各位以為,少掉幾家髒兮兮工廠沒差嗎?這些中小代工廠養活的人口數以百萬計,今天命脈被中國掌握,哪天波動一下就是數十萬人失業,或是無薪假影響百萬家庭。
Thumbnail
生產製程不是只有生產,還有前後處理各種項目。你以為傳產消失很好嗎?這代表的是相關產業,連同工廠附近的基本食衣住都消失掉,表面上關掉一間廠不過100人失業,連動到的終端人數可能超過10,000人。
Thumbnail
這個系列要談幾個主題,主要是要讓「非產業界」的人,了解現代產業的複雜,以及相關製程對環境的影響,受眾設定是非工科的人,以文法商組,且沒有在產業界,特別是傳產這一塊的為對象,希望這些朋友在談產業的去留,或是討論各種優惠與補貼,以及環保衛生政策的時候,能夠有更進一步的認識。
前言 投资心态:我是老板 涨跌原理  涨停跌停 两大风险 危险股票 三种获利 股票费用  交割制度 最佳消息来源 财报3步骤 除权、除息 指数VS个股 四大指标 结语   投资心态:我是老板 想要在股市赚钱,首先要建立老板心态。所
Thumbnail
文章索引 前言 历史寻根 何谓股票 股本/缴足资本 股票单位  四种类、四形式 结语 前言 众多理财工具中,股票应该算是最有知名度的明星。若想理财,这个工具必须懂得使用。一起进入股票的世界吧! 历史寻根:集资、分担、比例 地理大发现时期,哥伦布发现新大陆、麦哲伦团队