docker run 鏡像名稱 這個過程可以理解為:把鏡像文件創建成docker容器的一部分,然後再進行啓動
--d:後台運行
-it:交互式命令
--rm:容器掛掉後自動刪除
--name:給容器起一個名字
-p:端口映射
容器日誌查看場景:
假設別人問,你們之前是使用Docker來部署環境嗎?
是的
那如果被測試的程序出問題了,你的日誌是在哪裏看的,怎麼反饋給開發的
1.獲取到程序運行的容器ID
2.通過docker logs 容器ID來查看錯誤的日誌
3.日誌信息獲取成功後,發送給開發
查看日誌方式
1.一種是查看動態的日誌(日誌在實時的更新,一直查看到最後的日誌信息)
2.一種是查看靜態的日誌(把日誌文件下載下來,打開查看)
docker logs imageID
-f
當日志內容很多的時候,只想查看最後的N行
docker log containerID | tail-N
容器提交
docker commit imageID 別名
操作步驟:
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組成部分
dockerfile的主要組成部分可以彙總為:
• 基礎鏡像信息
• 製作鏡像操作指令 RUM
• 容器啓動時執行指令CMD["/bin/bash"]
Dockerfile基本指令
dockerfile的指令主要可以彙總為如下,使用dockerfile的前提是學習會這些指令的基本使用,具體如下:
• FROM #指令基礎鏡像
• MAINTAINER #指定維護者信息,也可以沒有
• RUN #具體執行的操作,在命令前面加上RUN即可
• ADD #COPY文件,會自動進行解壓
• WORKDIR #設置當前工作目錄
• VOLUME #設置卷,掛載主機目錄
• EXPOSE #指定對外的端口
• CMD #指定容器啓動後需要乾的事情
• COPY #複製文件
• ENV #環境變量
• ENTRYPOINT #容器啓動後執行的命令
桌面創建一個文件夾名字叫:learnDocker 然後裏面創建一個文件 Dockerfile 裏面寫入
#獲取centos的鏡像,版本7.8.2003
FROM centos:7.8.2003
MAINTAINER 無涯
#定義一個變量
ENV name Docker
ENTRYPOINT echo "Hello $name"
然後運行:
然後查看
最後輸出
nginx
桌面創建一個文件夾名字叫:learnDocker 然後裏面創建一個文件 Dockerfile 裏面寫入
然後查看
運行
隨後重新打開一個控制枱進行輸出
netstat -ano | findstr 80:查看80端口是否被佔用