docker學習(二)
Docker容器管理
docker run 映象名稱 這個過程可以理解為:把映象檔案建立成docker容器的一部分,然後再進行啟動
容器命令
在運⾏映象中,後⾯需要帶⼀些指令的資訊,這些指令的資訊具體彙總為如下:
-d:後臺運⾏
-it:互動式命令(bash)
--rm:容器掛掉後⾃動被刪除
--name:給容器起⼀個名字
-p:端⼝對映
docker container inspect 容器id
容器日誌檢視場景:
假設別人問,你們之前是使用Docker來部署環境嘛?
是的
那如果被測試的程式出問題了,你日誌是在那裡看的,怎麼反饋給開發的
1、獲取到程式執行的容器id
2、通過docker logs 容器id來檢視錯誤的日誌
3、日誌資訊獲取成功後,傳送給開發
檢視日誌方式:
1、一種是檢視動態的日誌(日誌在實時的更新,一直檢視最後的日誌資訊)
2、一種是檢視靜態的日誌(把日誌檔案下載下來,開啟檢視)
docker logs 容器id
docker logs -f 容器id
當日志內容很多的時候,只想檢視最後的N行
docker logs containerID | tail -N
容器提交
操作步驟: 1、先進入到容器裡面 docker run -it --rm centos:7.8.2003 bash
2、在容器裡面安裝第三方的軟體 yum install vim
3、檢視容器的ID docker ps -a | grep centos
4、然後提交(提交期間,容器是不能退出) docker commit containerID newImageName
圖解:
進入vim怎麼退出:
1.進入vim,按esc
2.再按shift :
3.再輸入q!,按下回車鍵
使用Docker部署環境流程:
1、開發編寫程式碼完成後
2、開發編寫Dockerfile檔案來構建成映象
3、然後使用docker run 來啟動映象,也就是容器
4、通過如上步驟就可以完成了環境部署,測試可以開始測試
什麼是Dockerfile
其實可以把它理解為操作Docker一系列命令的集合
使⽤dockerfile主要是⽤於構建docker映象⽂件資訊,相當於⼀個指令碼,通過dockerfile⾃⼰的指令,來構建軟體 依賴,⽂件依賴,儲存等等情況。
Dockerfile組成部分
dockerfile的主要組成部分可以彙總為:
• 基礎映象資訊
• 製作映象操作指令 RUM
• 容器啟動時執行指令CMD["/bin/bash"]
Dockerfile基本指令
dockerfile的指令主要可以彙總為如下,使用dockerfile的前提是學習會這些指令的基本使用,具體如下:
• FROM #指令基礎映象
• MAINTAINER #指定維護者資訊,也可以沒有
• RUN #具體執行的操作,在命令前面加上RUN即可
• ADD #COPY檔案,會自動進行解壓
• WORKDIR #設定當前工作目錄
• VOLUME #設定卷,掛載主機目錄
• EXPOSE #指定對外的埠
• CMD #指定容器啟動後需要乾的事情
• COPY #複製檔案
• ENV #環境變數
• ENTRYPOINT #容器啟動後執行的命令
部署centos
1.在桌面建立一個learnDocker資料夾,在裡面建立一個Dockerfile記事本(去掉.txt字尾)並儲存
2.在控制檯進入到learnDocker目錄下,再輸入docker build .構建映象
3.docker images:檢視所有映象,找到構建的映象id
4.docker tag 737925f1c68f centos_a:修改映象名稱
5.docker run --rm -it centos_a bash:執行這個映象
部署Nginx
下⾯顯示部署nginx的服務,期望部署是啟動容器後,可以訪問它的地址顯示的資訊。涉及到的nginx的Dockerfile 的⽂件內容為:
FROM nginx
MAINTAINER 段舒元
RUN echo "Hi, This Is A Docker Continer WebSite" > /usr/share/nginx/html/index.html
EXPOSE 80
部署完成以後重新開啟一個控制檯,驗證nginx服務可執行,輸入命令:curl
curl: 傳送網路請求
當埠被佔用時: