最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在VS?Code中使用Docker容器的具體方法

 更新時間:2025年11月21日 09:03:20   作者:舊時光巷  
這篇文章主要介紹了在VS?Code中使用Docker容器的具體方法,文中將基礎(chǔ)概念、環(huán)境配置、核心操作及高級應(yīng)用介紹的非常詳細,通過學(xué)習(xí)可以了解Docker與VSCode集成的重要性,掌握Docker鏡像、容器的基本概念,需要的朋友可以參考下

0 序言

本文將系統(tǒng)介紹在VS Code中使用Docker的相關(guān)知識,涵蓋基礎(chǔ)概念、環(huán)境配置、核心操作及高級應(yīng)用。通過學(xué)習(xí),你將理解為何在VS Code中集成Docker能提升開發(fā)效率,掌握Docker鏡像、容器的基本概念,以及在VS Code中構(gòu)建、運行、調(diào)試容器的具體方法,利用VS Code與Docker協(xié)同進行項目開發(fā)。

1 Docker與VS Code集成基礎(chǔ)

在開發(fā)過程中,不同項目可能依賴不同的環(huán)境(如Python版本、數(shù)據(jù)庫配置等),手動配置容易出現(xiàn)環(huán)境不一致問題。Docker通過容器化技術(shù)實現(xiàn)環(huán)境隔離,而VS Code提供了對Docker的深度支持,可在同一界面完成鏡像構(gòu)建、容器管理、代碼調(diào)試等操作,減少工具切換成本,提升開發(fā)效率。

1.1 Docker核心概念

1.1.1 鏡像(Image)

Docker鏡像是一個包含代碼、運行時、庫、環(huán)境變量和配置文件的只讀模板,是創(chuàng)建容器的基礎(chǔ)。例如,一個Python鏡像可能包含Python解釋器、必要的依賴庫等。

1.1.2 容器(Container)

容器是鏡像的運行實例,是一個獨立的可執(zhí)行單元。鏡像相當(dāng)于,容器相當(dāng)于對象,一個鏡像可創(chuàng)建多個容器,容器間相互隔離。

1.1.3 Dockerfile

Dockerfile是一個文本文件,包含一系列指令,用于構(gòu)建Docker鏡像。通過Dockerfile,開發(fā)者可定義鏡像的基礎(chǔ)環(huán)境、安裝依賴、配置程序等,實現(xiàn)鏡像的可重復(fù)構(gòu)建。

1.1.4 Docker Compose

Docker Compose是用于定義和運行多容器Docker應(yīng)用的工具,通過yaml文件配置應(yīng)用的服務(wù),可一鍵啟動、停止所有服務(wù),適合多組件協(xié)同的項目(如前端+后端+數(shù)據(jù)庫)。

總結(jié)就是,如果用面包這個例子來做一個類比的話,就是Dockerfile相當(dāng)于面包磨具的圖紙,Image相當(dāng)于制作面包的磨具,Container相當(dāng)于制作出來的面包,Docker Compose相當(dāng)于面包店的套餐組合單

2 環(huán)境準(zhǔn)備

2.1 安裝Docker

2.1.1 Windows系統(tǒng)

在這里還需要考慮一件事,就是原先電腦里是否有虛擬機,如果沒有用過虛擬機,那就直接按照以下步驟即可。

但如果之前有在電腦創(chuàng)建過虛擬機并且運行了,有一定的數(shù)據(jù)儲存情況下,我們得先確保要不要接著保留虛擬機,比如VirualBox等這些。

因為docker跟如VirualBox此類虛擬機還是存在一定的沖突風(fēng)險的,所以如果后續(xù)還想接著使用虛擬機,最好還是先請確認(rèn)一下,尤其是windows系統(tǒng)。

這里有個方法,可以實現(xiàn)在Windows系統(tǒng)中 Docker Desktop 和 VirtualBox 虛擬機共存,避免兩者因虛擬化技術(shù)沖突而無法同時使用,可參考以下方法:

確認(rèn)當(dāng)前系統(tǒng)環(huán)境,通過在命令提示符中執(zhí)行 wsl -l -v 命令,查看 Windows Subsystem for Linux(WSL)的安裝和版本情況。

若輸出結(jié)果中顯示已安裝的 Linux 發(fā)行版(如 Ubuntu)及其對應(yīng)的 WSL 版本為 2,且狀態(tài)為 Stopped 或 Running,則說明 WSL 2 環(huán)境已準(zhǔn)備就緒。如果沒有安裝 WSL 2 或者沒有對應(yīng)的 Linux 發(fā)行版,需要先進行安裝和配置。

此外就是要想使用docker的桌面版本,你得Windows系統(tǒng)版本號需要1904以上?。?!

  1. 檢查系統(tǒng)要求:需Windows 10 64位專業(yè)版、企業(yè)版或教育版(支持Hyper-V),或Windows 11。
  2. 下載Docker Desktop:訪問Docker官網(wǎng),下載對應(yīng)版本并安裝。
  3. 驗證安裝:打開命令提示符,輸入docker --version,若顯示版本信息則安裝成功。

打開Docker官網(wǎng),點擊下載,

只要你的電腦是 x86 架構(gòu) 64 位處理器,一般都是選擇AMD64版本。

下載完后雙擊打開該exe文件,

選擇以上兩個選項,點擊下一步。

等待加載。

Close and log out 注銷 - 重新登錄 - 啟動 Docker 繼續(xù)配置,注銷只是短暫退出登錄,不會丟文件。

在彈出該頁面的地方選擇Accept

單純想先用 Docker 跑公開鏡像、本地容器,不用登錄,直接跳過即可。

如果你想用私有鏡像、Docker Hub 遠程操作,或是已經(jīng)有賬號,就直接sign in即可。

正常填寫即可,也可以選擇跳過,不影響后續(xù)操作。

接下來需要完成 WSL 2 集成配置,這樣 Docker 才能借助 WSL 2 跑容器。

點擊 Docker Desktop 右上角的 齒輪圖標(biāo)(Settings,設(shè)置),進入配置界面。

按上圖要求完成配置。

Docker Desktop 已正常啟動并處于運行狀態(tài),但還需結(jié)合功能驗證來確認(rèn)是否真的能正常工作。

win + r輸出cmd打開Windows 命令提示符,輸入docker ps并回車。

由于國內(nèi)的鏡像源拉取速度比較慢,很容易出現(xiàn)網(wǎng)絡(luò)超時這種情況,因此有必要用國內(nèi)的鏡像源來加快拉取速度。

粘貼以下程序:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

然后在下面這個地方修改一下鏡像存放的位置。

(也可以選擇不做更改,都可以,如果C盤空間足夠的話)

接著打開終端,驗證一下docker能夠正常拉取鏡像。

如果出現(xiàn)這個就說明成功拉取到了。

當(dāng)然,你也可以回到docker桌面端,在images中可以看到你拉取到的鏡像,點擊運行即可。

點運行后會彈出創(chuàng)建容器,根據(jù)自己需求填寫后點運行即可。

運行后就可以看到運行結(jié)果了。

2.2 配置VS Code

2.2.1 安裝Docker插件

  1. 打開VS Code,進入擴展面板(快捷鍵Ctrl+Shift+XCmd+Shift+X)。
  2. 搜索“Docker”,選擇微軟官方的“Docker”插件(作者為Microsoft),點擊“安裝”。
  3. 安裝完成后,VS Code左側(cè)會出現(xiàn)Docker圖標(biāo),可通過該面板管理鏡像、容器等。

這里就看到VsCode已經(jīng)自動連接上docker了。

2.2.2 配置Docker連接(默認(rèn)無需額外配置)

Docker插件默認(rèn)會自動連接本地Docker服務(wù),若需連接遠程Docker服務(wù),可按以下步驟:

  1. 打開VS Code設(shè)置(Ctrl+,Cmd+,)。
  2. 搜索“docker.host”,設(shè)置遠程Docker服務(wù)地址(如tcp://remote-host:2375)。
  3. 重啟VS Code使配置生效。

3 VS Code中使用Docker的核心操作

3.1 創(chuàng)建Dockerfile

3.1.1 新建Dockerfile

  1. 在VS Code中打開項目文件夾,右鍵新建文件,命名為Dockerfile(無擴展名)。
  2. 輸入基礎(chǔ)指令:
    在你新創(chuàng)建的Dockerfile里寫上以下程序。
   # 基礎(chǔ)鏡像
   FROM python:3.9-slim
   
   # 設(shè)置工作目錄
   WORKDIR /app
   
   # 復(fù)制項目依賴文件
   COPY requirements.txt .
   
   # 安裝依賴
   RUN pip install --no-cache-dir -r requirements.txt
   
   # 復(fù)制項目代碼
   COPY . .
   
   # 暴露端口(若項目有服務(wù))
   EXPOSE 5000
   
   # 啟動命令
   CMD ["python", "app.py"]

在運行程序之前,需要確保你的項目目錄下需要有 requirements.txt 文件(用于記錄 Python 項目的依賴包),如果沒有實際依賴,可以創(chuàng)建一個空的 requirements.txt 文件,

項目目錄下還需要有 app.py 文件。

app.py文件程序內(nèi)容如下:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, Docker!'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)

3.1.2 Dockerfile指令說明

  • FROM:指定基礎(chǔ)鏡像,必須為Dockerfile的第一條指令。
  • WORKDIR:設(shè)置后續(xù)指令的工作目錄。
  • COPY:將本地文件復(fù)制到鏡像中。
  • RUN:在鏡像構(gòu)建過程中執(zhí)行命令。
  • EXPOSE:聲明容器運行時暴露的端口(僅為文檔說明,需配合-p參數(shù)映射)。
  • CMD:指定容器啟動時執(zhí)行的命令(可被docker run后的命令覆蓋)。

3.2 構(gòu)建Docker鏡像

3.2.1 基于Dockerfile構(gòu)建

  1. 打開VS Code終端(Ctrl+` 或Cmd+`)。
  2. 執(zhí)行構(gòu)建命令:
    docker build -t my-python-app:1.0 .
    
    • -t:指定鏡像標(biāo)簽(格式為名稱:版本)。
    • .:表示Dockerfile所在的當(dāng)前目錄。
  3. 構(gòu)建完成后,可在VS Code的Docker面板Images中看到新構(gòu)建的鏡像。

從docker的images就能看到新建好的鏡像了。

3.2.2 查看鏡像信息

在VS Code Docker面板中,右鍵鏡像選擇“Inspect”,可查看鏡像的詳細配置(如層信息、環(huán)境變量等);或在終端執(zhí)行:

docker images my-python-app:1.0

3.3 運行Docker容器

3.3.1 基礎(chǔ)運行命令

在終端執(zhí)行:

docker run -d -p 5000:5000 --name my-app-container my-python-app:1.0
  • -d:后臺運行容器。
  • -p 5000:5000:將容器的5000端口映射到主機的5000端口(主機端口:容器端口)。
  • --name:指定容器名稱。

3.3.2 在VS Code中管理容器

  1. 打開Docker面板,在Containers中可看到運行中的容器。
  2. 右鍵容器可執(zhí)行“Start”“Stop”“Restart”“Delete”等操作。
  3. 選擇“Attach Shell”可進入容器內(nèi)部終端;選擇“View Logs”可查看容器運行日志。

3.4 調(diào)試容器內(nèi)的應(yīng)用

3.4.1 配置調(diào)試環(huán)境

  1. 在VS Code中創(chuàng)建.vscode/launch.json文件,添加Docker調(diào)試配置
{
    "version": "0.2.0",  // 配置文件的版本,固定值
    "configurations": [  // 調(diào)試配置列表(可以有多個配置)
        {
            "name": "Docker: Python - Launch",  // 配置名稱(自己能認(rèn)就行,比如“調(diào)試Docker里的Python”)
            "type": "docker",  // 調(diào)試類型:告訴VS Code這是Docker環(huán)境的調(diào)試
            "request": "launch",  // 調(diào)試方式:啟動新的容器并開始調(diào)試(另一種是“attach”,附加到已運行的容器)
            "preLaunchTask": "docker-build",  // 調(diào)試前自動執(zhí)行的任務(wù):這里是先構(gòu)建鏡像(確保代碼最新)
            "python": {  // Python相關(guān)的調(diào)試配置
                "pathMappings": [  // 路徑映射:關(guān)鍵!讓VS Code知道本地代碼和容器內(nèi)代碼的對應(yīng)關(guān)系
                    {
                        "localRoot": "${workspaceFolder}",  // 本地代碼路徑(你電腦上的項目文件夾)
                        "remoteRoot": "/app"  // 容器內(nèi)代碼路徑(Dockerfile里WORKDIR設(shè)置的/app)
                    }
                ],
                "projectType": "general"  // 項目類型:通用Python項目(不用改)
            }
        }
    ]
}

這個 launch.json 配置是用于 在 VS Code 中直接調(diào)試 Docker 容器內(nèi)的 Python 代碼。

因為通過上文我們已經(jīng)通過 docker build 和 docker run 讓代碼在容器里跑起來了,但如果個問題:
如果代碼出了 bug,怎么像本地調(diào)試那樣一步步看哪里錯了?

直接在容器里打印日志太麻煩,而 VS Code 的調(diào)試功能(斷點、變量監(jiān)視)又默認(rèn)只能用在本地環(huán)境。

這個 launch.json 就是讓 VS Code 和 Docker 容器打通,讓調(diào)試器能到容器內(nèi)部,直接調(diào)試?yán)锩孢\行的代碼。

  1. 創(chuàng)建.vscode/tasks.json文件,定義構(gòu)建任務(wù)
{
    "version": "2.0.0",  // 配置文件版本,固定值
    "tasks": [
        {
            "label": "docker-build",  // 任務(wù)名稱(必須和launch.json里的preLaunchTask一致)
            "type": "docker-build",  // 任務(wù)類型:Docker構(gòu)建(VS Code的Docker插件會識別)
            "dockerBuild": {
                "context": "${workspaceFolder}",  // 構(gòu)建上下文:當(dāng)前項目文件夾(和手動構(gòu)建時的“.”作用一樣)
                "tag": "my-python-app:1.0"  // 鏡像標(biāo)簽(和手動構(gòu)建的 -t 參數(shù)一樣)
            }
        }
    ]
}

這個 tasks.json 文件是為了在 VS Code 里更方便地管理 Docker 構(gòu)建任務(wù),讓你不用每次手動輸入 docker build 命令,同時和調(diào)試流程(launch.json 里的 preLaunchTask)聯(lián)動,

你之前手動構(gòu)建鏡像的命令是:

docker build -t my-python-app:1.0 .

而 tasks.json 的作用是把這個命令固化成 VS Code 的一個任務(wù),

以后就可以用快捷鍵自動執(zhí)行構(gòu)建。

3.4.2 啟動調(diào)試

  1. 可以在程序中設(shè)置斷點(點擊行號左側(cè))。
  2. F5啟動調(diào)試,或者在左側(cè)選擇運行和調(diào)試,VS Code會自動構(gòu)建鏡像、運行容器并附加調(diào)試器,程序執(zhí)行到斷點時會暫停,可查看變量、調(diào)用棧等信息。

從日志看,鏡像構(gòu)建已經(jīng)成功完成。

構(gòu)建過程利用了 Docker 的緩存機制(CACHED 的步驟),加速了構(gòu)建流程(因為代碼 / 依賴沒變化,復(fù)用了之前的結(jié)果 )。

終端提示是正常的 VS Code 任務(wù)執(zhí)行收尾邏輯,按需按任意鍵關(guān)閉即可,不影響鏡像使用。

4 小結(jié)

本文很基礎(chǔ),介紹了在VS Code中使用Docker的全流程。首先明確了Docker與VS Code集成的價值——解決環(huán)境一致性問題并提升開發(fā)效率;接著講解了鏡像、容器等核心概念,以及Docker和VS Code的安裝配置;然后通過實例演示了Dockerfile編寫、鏡像構(gòu)建、容器運行及調(diào)試的具體操作。

掌握這些知識后,你可在VS Code中高效完成容器化開發(fā),無論是單服務(wù)應(yīng)用還是多組件協(xié)同項目(道理一樣),都能通過Docker實現(xiàn)環(huán)境隔離與快速部署,顯著提升開發(fā)體驗和項目可維護性。

到此這篇關(guān)于在VS Code中使用Docker容器的文章就介紹到這了,更多相關(guān)VS Code使用Docker容器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker 如何分配宿主機網(wǎng)段 IP

    Docker 如何分配宿主機網(wǎng)段 IP

    本篇文章主要介紹了Docker 如何分配宿主機網(wǎng)段 IP,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • docker 安裝solr8.6.2 配置中文分詞器的方法

    docker 安裝solr8.6.2 配置中文分詞器的方法

    這篇文章主要介紹了docker 安裝solr8.6.2 配置中文分詞器的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Docker Nginx反向代理實現(xiàn)過程

    Docker Nginx反向代理實現(xiàn)過程

    本文介紹了如何使用Nginx實現(xiàn)反向代理,并與網(wǎng)關(guān)的代理功能進行對比,通過Docker安裝Nginx,解決了容器中缺少vim編輯器的問題,詳細記錄了修改Nginx配置、啟動微服務(wù)、驗證反向代理的步驟
    2025-12-12
  • 通過Docker創(chuàng)建CentOS容器的實現(xiàn)步驟

    通過Docker創(chuàng)建CentOS容器的實現(xiàn)步驟

    本文主要介紹了Docker創(chuàng)建CentOS容器,使用文內(nèi)的腳本可以快速創(chuàng)建CentOS 7.8虛擬系統(tǒng)集群,并通過SSH(Secure Shell)遠程工具連接,感興趣的可以了解一下
    2021-11-11
  • 部署維護docker環(huán)境的詳細教程

    部署維護docker環(huán)境的詳細教程

    這篇文章主要介紹了部署維護docker環(huán)境的詳細教程,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • linux中無make命令的問題(make: *** 沒有指明目標(biāo)并且找不到 makefile及make命令安裝方法)

    linux中無make命令的問題(make: *** 沒有指明目標(biāo)并且找不到 makefile及make命令安裝方法)

    這篇文章主要介紹了linux中無make命令的問題(make: *** 沒有指明目標(biāo)并且找不到 makefile及make命令安裝方法),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Docker容器實戰(zhàn)之鏡像倉庫

    Docker容器實戰(zhàn)之鏡像倉庫

    這篇文章主要介紹了Docker容器實戰(zhàn)之鏡像倉庫,文章通過Docker?Hub為例,講解關(guān)于鏡像倉庫的使用,需要的小伙伴可以參考一下
    2022-05-05
  • Docker搭建私有化倉庫的幾種方法

    Docker搭建私有化倉庫的幾種方法

    搭建 Docker 私有化倉庫是一個非常重要的實踐,它能夠幫助你安全地存儲和管理 Docker 鏡像,本文主要介紹了Docker搭建私有化倉庫的的幾種方法,具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • PVE下擴展openwrt?for?x86分區(qū)大小方式

    PVE下擴展openwrt?for?x86分區(qū)大小方式

    本文介紹了在PVE環(huán)境下如何對OpenWRT虛擬機的分區(qū)進行擴容,包括磁盤調(diào)整、軟件安裝、分區(qū)配置和系統(tǒng)引導(dǎo)等步驟,操作前需做好備份,以防數(shù)據(jù)丟失
    2024-10-10
  • Docker安裝mysql主從復(fù)制的實現(xiàn)步驟

    Docker安裝mysql主從復(fù)制的實現(xiàn)步驟

    MySQL主從復(fù)制是指數(shù)據(jù)可以從一個MySQL數(shù)據(jù)庫服務(wù)器主節(jié)點復(fù)制到一個或多個從節(jié)點,本文主要介紹了Docker安裝mysql主從復(fù)制的實現(xiàn)步驟,感興趣的可以了解一下
    2024-03-03

最新評論

保山市| 霍州市| 河曲县| 高尔夫| 洛隆县| 闽侯县| 甘泉县| 辉南县| 武冈市| 百色市| 申扎县| 乾安县| 岳西县| 湘阴县| 洪江市| 富平县| 梧州市| 佛冈县| 湘阴县| 扬州市| 宿州市| 平阳县| 远安县| 建德市| 石狮市| 昌图县| 久治县| 米脂县| 南部县| 邓州市| 呼和浩特市| 云和县| 伊金霍洛旗| 湘潭市| 台南市| 韩城市| 无锡市| 名山县| 尚志市| 神农架林区| 桦甸市|