iT邦幫忙

2023 iThome 鐵人賽

DAY 14
1
AI & Data

AIoT的藍藥丸與紅藥丸,你選哪個?系列 第 21

Day 14:Docker的逆襲(Docker’s Revenge)(下)

  • 分享至 

  • xImage
  •  

前情提要

  在上一集Day 13:Docker的逆襲(Docker’s Revenge)(上),你想起崔尼蒂之前說過的,可以用docker run指令來建立container並執行。於是你試著輸入以下指令:

$ docker run deusexmachina/sentinellib:destroyer

  執行這個指令後,你發現終端機上沒有任何反應,只是一直停在那裡。你覺得很奇怪,難道這個image有問題嗎?還是需要加上什麼參數或指令才能讓它運作?

Docker的逆襲(Docker’s Revenge)

  你參考了Docker 基本操作:Container (1)這篇解說後,你想要查看這個image的詳細資訊,看看有沒有什麼提示或說明。你用docker inspect指令來查看這個image的元數據metadata,如下:

$ docker inspect deusexmachina/sentinellib:destroyer

  查看結果後,你接著看了Docker 基本操作:Container (2)這篇文章,研究image的特別設定和屬性,例如:

  • "Cmd": ["python", "destroyer.py"] : 這個表示這個image執行時會呼叫python來執行destroyer.py這個檔案。這個檔案可能就是用來控制烏賊機器人自毀的程式碼。

  • "Env": ["SENTINEL_ID=ALL", "SENTINEL_PASSWORD=202304011642"] : 這個表示這個image執行時會設定兩個環境變數(environment variable),分別是SENTINEL_IDSENTINEL_PASSWORD。這兩個變數可能就是用來連接和控制烏賊機器人的識別碼和密碼。

  • "ExposedPorts": {"8080/tcp": {}} : 這個表示這個image執行時會開啟8080號埠(port),並使用TCP協定(protocol)。這個埠可能就是用來和烏賊機器人溝通和傳送指令的通道。

AI大帝的Docker Image陷阱

  你嘗試了各種可能的docker run指令,但都沒有成功地使用deusexmachina/sentinellib:destroyer這個image來控制烏賊機器人自毀。你發現這個image可能有一些隱藏的機制和保護措施,讓你不能使用它。你開始懷疑這有可能是AI大帝故意設計了這個image,用來引誘你們步入他的設下的陷阱。
  你對著耳機說:「我覺得這個image有問題,它好像不能讓烏賊機器人自毀,可能有什麼別的目的。我怕我們被AI大帝騙了,他可能在這個image裡面埋了什麼後門或病毒,只要我們執行它,就會讓AI大帝得到我們的位置之類的。」
  崔尼蒂和莫菲斯在耳機那一端說:「不可能吧,AI大帝怎麼可能知道我們從他的倉庫裡面偷這個image?而且我們也沒有連到任何網路或系統上,他怎麼追蹤我們?」
  「我猜他有想到我們會偷他的image,所以他故意設陷阱等我們上鉤。感覺他根本不在乎什麼烏賊機器人自毀,他等我們想到『烏賊機器人自毀』這個想法後,將計就計,設下陷阱引我們上鉤。」
  「你的懷疑可能是對的,AI大帝可能真的在這個image裡面設了一些陷阱,用來對付我們。我們不能再浪費時間在這個image上了,我們要想別的辦法來對付他。」


上一篇
Day 13:Docker的逆襲(Docker’s Revenge)(上)
下一篇
Docker 基本操作:Container (1)
系列文
AIoT的藍藥丸與紅藥丸,你選哪個?62
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
whoami
iT邦新手 1 級 ‧ 2023-09-30 00:00:30

中秋節快樂啊

中秋節快樂!今年吃了幾個月餅?

whoami iT邦新手 1 級 ‧ 2023-09-30 23:22:00 檢舉

吃了不會胖的那種 🤣

我要留言

立即登入留言