iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0
AI & Data

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

Day 13:Docker的逆襲(Docker’s Revenge)(上)

  • 分享至 

  • xImage
  •  

前情提要

  在Day 12:Docker 之謎(The Docker Heist)中,你決定要讓烏賊機器人自毀,但你輸入密碼後,拿到的卻是一段Python的code。這是什麼謎中謎?原來要讓烏賊機器人自毀,還必須在AI大帝自己開發的函式庫和環境才能執行。在崔尼蒂的機制解救下,你打算學習一種叫做Docker的技術,這樣就可以在你自己的電腦上運行AI大帝自己開發的函式庫和環境了!但你發現,這些函式庫和環境都沒有公開不能下載,所以你必須從剛才拿到Python Code中找到線索,看能不能找到AI大帝他的倉庫的位址和密碼,拿到函式庫和環境的副本,最後用Docker來控制烏賊機器人自毀。你能成功嗎?

AI大帝的sentinellib

  你仔細地檢查這段Python的code,發現它是用來控制烏賊機器人的一個模組,裡面有一些函式和變數,但最讓你注意的是一行註解:
# This module is based on the Deus Ex Machina's secret library: sentinellib. You can find the docker image at <https://hub.docker.com/r/deusexmachina/sentinellib>
  你嚇一跳!AI大帝的倉庫位址這麼快就被你找到了嗎?你馬上打開瀏覽器,輸入這個網址,發現真的有叫做sentinellib的docker image,還有一個密碼提示:Password hint: The Purpose of Deus Ex Machina
  你想了一下,AI大帝的存在目的是什麼?在他走火入魔以前,他是一個想要學習理解人類的AI搜尋引擎。他想要越來越接近人類。所以……他其實是想要藉由人類的身體內含的資訊來升級系統?
  「系統升級!」你大叫出來,「他的密碼就是system upgrade!」
  你在密碼那一欄輸入:system upgrade,結果真的成功登入AI大帝的倉庫了!

Docker的逆襲

  你開始搜尋跟「烏賊機器人」相關的Docker Image(映像檔) 的 Name(名字),於是你參考了用簡單的例子來說明如何使用 Docker 指令,按照上面的說明輸入。

$ docker search sentinel -f

  結果你看到搜尋結果顯示,有很多個docker image(映像檔),而且其中一個看起來最可疑,感覺就是你正在找的。
- Name:deusexmachina/sentinellib:destroyer
- Description:This image contains the ultimate weapon to destroy all the Sentinels. Use it at your own risk.

  你覺得這個image一定是你要找的!突然感覺一切都有希望了!但是下一步該怎麼做?
  你想起來崔尼蒂剛剛跟你說過:「如果你找到,用docker pull指令來下載他的image」。
  於是你決定用docker pull指令來下載它。你打開終端機,輸入以下指令:

$ docker pull deusexmachina/sentinellib:destroyer

  下載過程中,你看到終端機上顯示了一些訊息,像是:

Pulling from deusexmachina/sentinellib Digest: sha256:9a8b7c4f6f27b8f18f6b4a8c6f4b9c7a4d8e8f8f8f8f8f8f Status: Downloaded newer image for deusexmachina/sentinellib:destroyer

  你等了一下,終於下載完成了。你用docker images指令再確認有沒有下載成功,於是你輸入:

$ docker image

  你看到你現在已經有的image中,有一個新的image,就是剛剛下載的deusexmachina/sentinellib:destroyer
  你想要試試看用這個image來控制烏賊機器人自毀,但你還不知道要怎麼用。
  你想起崔尼蒂之前說過的,可以用docker run指令來建立container並執行。於是你試著輸入以下指令:

$ docker run deusexmachina/sentinellib:destroyer

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


上一篇
Day 12:Docker 之謎(The Docker Heist)
下一篇
Day 14:Docker的逆襲(Docker’s Revenge)(下)
系列文
AIoT的藍藥丸與紅藥丸,你選哪個?62
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言