Docker簡介。為自己的服務器開發簡單的Docker映像。
俄羅斯版本的任務可以在存儲庫中找到。

今天的地球,今天的某個地方。
您從不喜歡移動。很多大驚小怪,幾乎沒有動作。但是,您設法在另一個城市找到了一項出色的工作,將自己沉浸在Devops世界中。而且您不是一個讓一些麻煩破壞您的計劃的人。
從您的機艙窗戶上,您會聽到海浪的聲音,船和平地搖擺著它們,您還記得您最喜歡的關於海洋的小說 - “ Moby Dick”。儘管該情節遠非直接,帶有許多抒情的題外話和哲學沉思,但您和其他所有人一樣,主要與Moby Dick本人 - 白鯨聯繫在一起。
“嗯...白鯨...”這是您記住的地方,在長途航行中,您想在碼頭上工作。
NGINX (發音為“ Engine-X”)是用於HTTP,HTTPS等的開源反向代理服務器。 Nginx還用作負載平衡器,Web服務器和HTTP緩存。 NGINX項目著重於高平行性,高性能和低內存使用情況。
NGINX有一個主要過程和幾個工作過程。主要過程的主要任務是閱讀和檢查配置並管理工作過程。工程處理執行請求的實際處理。
NGINX及其模塊的工作是在配置文件中定義的。默認情況下,配置文件稱為nginx.conf
容器是一個新的“可執行文件”,其中包括產品所需的所有依賴項。
容器化的主要優點是依賴關係和一個簡單的軟件啟動點的隔離。
基本術語:
Docker是一個旨在在容器中開發,部署和運行應用程序的平台。 Docker是該行業中的“事實”標準容器化工具,但它並不是集裝技術中的第一個或最後一個。
Docker容器的先驅是虛擬機。像容器一樣,虛擬機將應用程序及其依賴關係與外部環境隔離。但是, Docker容器比虛擬機具有優勢。例如,它們非常容易移植,消耗較少的資源,啟動和運行速度更快。
Docker圖像由層組成。每一層都描述了要對運行容器上的數據執行的一些更改。層之間的鏈接結構是分層的。有一個基礎層,其他層被“覆蓋”。 Dockerfile用於創建圖像。其中的每個指令都會創建一個新層。
Dockle是一種容器圖像安全檢查工具,可用於查找漏洞。
碼頭的主要特徵和好處:
Docker Compose是處理與項目部署相關的任務的工具。如果使用多種服務來保持項目運行,Docker組合可能會有所幫助。
Docker Compose用於同時管理應用程序一部分的多個容器。該工具提供與Docker相同的功能,但允許使用更複雜的分佈式應用程序,例如微服務。
由於工作的結果,您應該提供有關前兩個任務的報告。任務的每個部分都描述了報告完成後應添加的內容。這可以是問題,屏幕截圖等的答案。
由於第三個任務,您應該提供運行Web服務器的源文件。
由於第四和第五任務,您應該提供Dockerfiles。
由於第六任任務,您應該提供一個docker-compose.yml文件和運行它所需的dockerfiles(如果沒有之前提供)。
作為您的小練習的最終目標,您立即選擇為自己的Web服務器編寫Docker映像,因此首先需要處理服務器現成的Docker映像。您選擇了一個非常簡單的nginx 。
==任務==
docker pull下載。 docker images 。 docker run -d [image_id|repository]運行Docker Image。 docker ps運行。 docker inspect [container_id|container_name]查看容器信息。 docker stop [container_id|container_name]停止Docker映像。 docker ps停止。 docker restart [container_id|container_name] 。 注意:不要將重型文件(> 10 MB)上傳到Git。
Docker Image和Container準備就緒。現在,我們可以研究NGINX配置和顯示頁面狀態。
==任務==
docker cp命令在Docker Image內復制創建的Nginx.conf文件。 docker rmi [image_id|repository]刪除圖像,而無需先刪除容器。 是時候從碼頭工人休息一下來為最後階段做準備了。現在該編寫自己的服務器了。
==任務==
Hello World! 。 現在一切都準備好了。您可以開始編寫創建服務器的Docker映像。
==任務==
編寫Docker映像時,請避免多次調用運行指令
Nginx可以安裝在Docker本身內,也可以使用Nginx的現成圖像作為基礎。
docker build構建書面Docker映像,指定名稱和標籤。 docker images核對所有內容都正確構建。 *如果一切都正確完成,保存文件並重新啟動容器後,Docker Image內的配置文件應自行更新,而無需任何額外的步驟
寫出圖像後,檢查安全性絕不是一個壞主意。
==任務==
dockle [image_id|repository]從上一個任務中檢查圖像。 在那裡,您已經完成了熱身。雖然等一下...為什麼不嘗試一次部署由幾個Docker圖像組成的項目?
==任務==
docker-compose build和docker-compose up命令來構建和運行該項目。 點擊此處,將您的反饋留在項目上。產品團隊確實試圖使您的教育體驗更好。