日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

通過VS Code和Docker擴展成為Docker高級用戶。

使用Docker正確的姿勢

> Photo by Micha? Parzuchowski on Unsplash

 

您可以使用選擇的語言來實施服務。 現在,您想將其容器化并在本地對其進行測試,然后再將其部署到生產環境中。 第一步是編寫Dockerfile,構建映像,運行容器并檢查日志。 對?

使用Docker正確的姿勢

> Illustration by Laurel Duermaël

 

好吧,不完全是。 盡管此過程是完全可以接受的,但是有一種更好的方法:一種工具可以為您編寫Dockerfile,如果您要編輯它并提供圖形用戶界面來與Docker引擎交互,則可以協助您完成自動完成。

如果有一個工具可以為您編寫Dockerfile,協助您自動完成并提供圖形用戶界面以與Docker引擎進行交互,該怎么辦?

用于Visual Studio Code的Docker擴展不僅僅是另一個IDE擴展。 它具有升級您使用Docker的方式的能力。 在這個故事中,我們深入研究了Visual Studio Code的Docker擴展可以做什么以及如何使用它成為Docker高級用戶。

Docker + VS

VS Code的Docker擴展使從Visual Studio Code輕松構建,運行,管理和部署容器化應用程序變得容易。 要開始使用它,請確保下載Visual Studio Code市場的擴展。 此外,這是一個開源項目,因此您可以檢查其代碼,安裝過程非常簡單,因此無需在其他部分中進行介紹。

主要特點

在本節中,我們將介紹Docker擴展的主要功能。 稍后,我們將在一個簡單示例中使用其中的許多內容。

· 編輯Dockerfile:編輯Dockerfile和docker-compose.yml文件時,可以使用IntelliSense自動完成功能。 此外,您還將獲得常見命令的語法幫助。

使用Docker正確的姿勢

> IntelliSense and syntax help for Docker on VS Code

 

· 生成Dockerfile:您可以使用Docker生成Dockerfile并將其添加到工作區:從命令面板中將Docker Files添加到Workspace命令。 該命令將生成Dockerfile和.dockerignore文件,并將它們添加到您的工作區中。 您還可以使用此命令來生成添加的Docker Compose文件。 在調試時,這將很方便。

使用Docker正確的姿勢

> Generate Dockerfiles for a simple flask App

 

· 探索:Docker擴展為VS Code貢獻了Docker視圖。 Docker視圖使您可以檢查和管理Docker資產:容器,映像,卷,網絡和容器注冊表。 一切都只需右鍵單擊即可。

使用Docker正確的姿勢

> Docker view in VS Code

 

· 執行Docker命令:許多最常見的Docker命令都內置在命令面板中。 您可以運行Docker命令來管理映像,網絡,卷,映像注冊表和Docker Compose。 另外,Docker:Prune System命令將刪除停止的容器,懸空的映像以及未使用的網絡和卷。

使用Docker正確的姿勢

> Common Docker commands integrated into the palette

 

· 調試容器:使用Docker擴展,我們可以調試在容器中運行的使用Node.js,Python或.NET(C#)構建的服務。

還有許多其他功能,例如注冊表連接和上下文管理,但是僅使用這些關鍵產品就可以走很長一段路。 接下來,我們實現一個簡單的Python Flask應用程序,對其進行泊塢化并部署,而無需費心Docker CLI。

一個簡單的例子

在本節中,我們將構建一個簡單的" Hello World" Flask應用程序,并使用Docker擴展對其進行部署。 一,代碼:

如果您熟悉Flask,您會發現這是您可以實現的最簡單的應用程序。 只要您點擊根端點,它就會返回" Hello World"。 接下來,我們需要一個requirements.txt文件來保存依賴項,我們可以開始了:

Flask==1.1.2
gunicorn

要創建Dockerfile以及您需要執行的其他所有操作,只需運行Docker:在命令面板(windows中為ctlr + shift + p)中將Docker Files添加到Workspace。

選擇第一個問題的Python:Flask選項,然后,擴展將詢問您是否要包括可選的Docker compose文件。 選擇是; 這樣,您以后便可以調試在容器內運行的應用程序。 最后,選擇包含Flask應用程序的python文件(上面提供的代碼)和要公開的端口(默認為5000)。 你準備好了!

現在,要構建映像,請右鍵單擊生成的Dockerfile并選擇Build Image…。將打開一個終端,您的映像將在幾秒鐘內準備就緒。

使用Docker正確的姿勢

> Build your image using Docker extension for VS Code

 

要運行該應用程序,請從左側面板中選擇Docker圖標,在"圖像"部分中找到您的圖像,右鍵單擊它,然后選擇"運行"。 這么簡單。

使用Docker正確的姿勢

 

 

在"容器"部分中,找到正在運行的容器,右鍵單擊它,然后選擇"查看日志"。 此命令將在終端中顯示您的容器的日志。 獲取它正在偵聽的端點(應為http://0.0.0.0:5000)。 要獲取Python服務的結果,請運行curl http://0.0.0.0:5000。

使用Docker正確的姿勢

> View the logs using Docker extension for VS Code

 

而已! VS Code的Docker擴展簡化了整個過程,您可以節省時間專注于代碼。

調試

要使用Gunicorn配置調試,我們還需要更多。 自動創建的Docker:Python-Flask啟動配置將使用Python調試器覆蓋容器的Gunicorn入口點。 要調試使用Gunicorn運行的應用程序,我們應遵循以下步驟:

1.將debugpy添加到您的requirements.txt文件。

2.將以下代碼片段添加到要調試的文件中:

import debugpy
debugpy.listen(("0.0.0.0", 5678))
debugpy.wait_for_client()

3.在.vscode文件夾中的launch.json中添加一個Python:Remote Attach配置。 JSON文件現在應如下所示:

4.通過將5678:5678添加到端口部分,修改docker-compose.yml文件以暴露調試器端口。 現在,該文件應如下圖所示:

5.右鍵單擊docker-compose.yml文件并選擇Compose Up,以啟動容器。

6.在所選文件中設置一個斷點,導航至"運行并調試",然后選擇" Python:Remote Attach"啟動配置。

7.按F5或按播放按鈕以連接調試器。

調試愉快!

結論

在這個故事中,我們探討了VS Code的Docker擴展,以及它如何幫助我們編寫Dockerfile,構建映像和部署它。 要深入研究,請查看Visual Studio Code文檔站點上的"使用容器"主題以開始使用。

關于作者

我叫Dimitris Poulopoulos,我是BigDataStack的機器學習研究員。 我也是希臘比雷埃夫斯大學的博士研究生。 我曾為歐洲委員會,歐盟統計局,IMF,歐洲中央銀行,經合組織和宜家等主要客戶設計和實施AI和軟件解決方案。

如果您有興趣閱讀有關機器學習,深度學習,數據科學和DataOps的更多帖子,請在Medium,LinkedIn或Twitter上的@ james2pl上關注我。

(本文翻譯自Dimitris Poulopoulos的文章《Docker: You Are Doing it Wrong》,參考:https://towardsdatascience.com/docker-you-are-doing-it-wrong-e703075dd67b)

分享到:
標簽:Docker
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定