第一步:拉取nginx映象
第二步:找到映象的配置檔案
第三步:寫乙個dockerfile
第四步:建立映象
第五步:執行映象
第六步:驗證
第七步:注意問題
到這裡實驗就成功了,不過有2個地方要注意一下:
小結
這次實驗最讓我困惑的部分是要求中的最後一句話,「容器啟動時,能直接進入web**的存放目錄」,我花了很長時間想要使用entrypoint來實現開機自動cd到目標目錄,但是如果使用entrypoint會導致在執行容器的時候引數被當作映象中指令的屬性而不是docker run的屬性,所以會造成 -p 和-p 全都無法使用,無法為**建立埠對映。在這個地方卡了很久,後面看到了workdir指令,一切就變得簡單了。
第一步:拉取mysql:5.7的映象
(為什麼要用5.7版本,因為作為乙個學生,要經常關注qq群)
第二步:找乙個同學的部落格看看好好理解題目
第乙個nginx做好好幾天一直沒開始做mysql,因為看不懂題目...我一直在等乙個合適的可以參考的部落格。題目裡說需要能夠檢視容器內的配置資訊,包括但不限於網路、應用配置檔案等,我不是很理解,因為我覺得這些用/bin/bash進入容器以後都可以找得到,所以不太懂要做什麼,是要把工作目錄設定在配置檔案下?還是執行容器的時候會自己執行cat my.conf。出於這些原因就把實驗擱置了,到了最後一天看看已經做好的同學。發現大家大部分是參考了一篇部落格,實現的內容是用指令碼來實現第一次執行容器就可以自己建立乙個資料庫和乙個表並授權。於是我也決定這樣完成實驗,同時進行理解。
第三步:寫乙個dockerfile
第五步:執行容器並驗證
第2次實踐作業
上一次作業同學們實現了docker環境的安裝和基本配置,已經能夠從docker的官方映象倉庫中拉取映象,初步實現了入門。然而,從官方倉庫拉取的映象是最簡單的映象,在實際應用中經常需要根據需求額外修改映象,這就涉及到了映象的定製。在docker中我們可以使用dockerfile檔案實現自定義映象,本次...
第2次實踐作業
選擇nginx,標明映象作者資訊,安裝必要的工具以方便維護 設定自己的web存放目錄,安全起見,將預設的監聽埠80更改為自定義的埠,並且宣告暴露的埠,容器啟動時,能直接進入web 的存放目錄。from nginx maintainer作者字段 label maintainer shenkay ngi...
第2次實踐作業
sudo docker pull nginx檢視本地映象 sudo docker images sudo docker run it nginx bin bash檢視容器工作目錄 複製執行中nginx容器的配置檔案,為後續修改監聽埠備用 sudo docker cp 容器id etc nginx c...