docker容器化(二)
docker run 映象名稱 這個過程可以理解為:把映象檔案建立成docker容器的一部分,然後再進行啟動
4.1容器命令
在運⾏映象中,後⾯需要帶⼀些指令的資訊,這些指令的資訊具體彙總為如下:
-d:後臺運⾏
-it:互動式命令(bash)
--rm:容器掛掉後⾃動被刪除
--name:給容器起⼀個名字
-p:端⼝對映
4.2容器資訊的檢視
1.先開啟一個控制檯,檢視centos映象,再執行centos,
2.開啟另外一個控制檯,檢視容器執行記錄,獲取到容器的id,
3.檢視容器詳細資訊:docker container inspect containerID
容器日誌檢視的場景:
假設別人問,你們之前是使用Docker來部署環境嗎?
答:是的
那如果被測試的程式出問題了,你日誌是在哪裡看的,怎麼反饋給開發的?
1.獲取到程式執行的容器ID
2.通過docker logs容器ID來檢視錯誤的日誌
3.日誌資訊獲取成功後,傳送給開發
4.3 log檢視
檢視日誌方式:
1.一種是檢視動態的日誌(日誌在實時的更新,一直檢視最後的日誌資訊)
命令:docker logs -f containerID
2.一種是檢視靜態的日誌(把日誌檔案下載下來,開啟檢視)
命令:docker logs containerID
當日志內容很多的時候,只想檢視最後的N行
docker logs containerID | tail -N
4.4容器提交
操作步驟: 1、先進入到容器裡面 docker run -it --rm centos:7.8.2003 bash
2、在容器裡面安裝第三方的軟體 yum install vim
3、檢視容器的ID docker ps -a | grep centps
4、然後提交(提交期間,容器是不能退出) docker commit containerID newImageName
進入vim怎麼退出?
1.進入vim,按esc
2.再按shift :
3.再輸入q!
使用Docker部署環境流程:(面試題)
1.開發編寫程式碼完成後
2.開發編寫Dockerfile檔案來構建成映象
3.然後使用docker run來啟動映象,也就是容器
4.通過如上步驟就可以完成環境部署,測試可以開始測試
五、Dockerfile實戰
Dockerfile概述
使⽤dockerfile主要是⽤於構建docker映象⽂件資訊,相當於⼀個指令碼,通過dockerfile⾃⼰的指令,來構建軟體依賴,⽂件依賴,儲存等等情況。
其實可以把它理解為操作Docker一系列命令的集合
5.1Dockerfile組成部分
dockerfile的主要組成部分可以彙總為:
• 基礎映象資訊
• 製作映象操作指令 RUM
• 容器啟動時執行指令CMD["/bin/bash"]
5.2Dockerfile基本指令
dockerfile的指令主要可以彙總為如下,使用dockerfile的前提是學習會這些指令的基本使用,具體如下:
• FROM #指令基礎映象
• MAINTAINER #指定維護者資訊,也可以沒有
• RUN #具體執行的操作,在命令前面加上RUN即可
• ADD #COPY檔案,會自動進行解壓
• WORKDIR #設定當前工作目錄
• VOLUME #設定卷,掛載主機目錄
• EXPOSE #指定對外的埠
• CMD #指定容器啟動後需要乾的事情
• COPY #複製檔案
• ENV #環境變數
• ENIRYPOINT #容器啟動後執行的命令
5.3Dockerfile實戰
5.3.1部署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:執行這個映象
5.3.2部署Nginx
下⾯顯示部署nginx的服務,期望部署是啟動容器後,可以訪問它的地址顯示的資訊。涉及到的nginx的Dockerfile的⽂件內容為:
檢視80埠是否被佔用,開啟一個控制檯輸入命令:netstat -ano | findstr 80
檢視佔用80埠的程序id
再輸入:tasklist | dfindstr pid
如果需要結束程序,開啟工作管理員,找到對應的pid,結束該程序