使用Vscode結(jié)合docker進(jìn)行開發(fā)的詳細(xì)過程
前言
使用 Docker 與 VS Code 可以優(yōu)化整個本地開發(fā)環(huán)境,加速項(xiàng)目進(jìn)度過程。在所有環(huán)境中使用相同的基礎(chǔ)映像,為所有開發(fā)人員提供相同的編輯器工具,可以更容易實(shí)現(xiàn)標(biāo)準(zhǔn)。
大型項(xiàng)目的團(tuán)隊(duì)首先必須確保安裝依賴、內(nèi)核版本這些開發(fā)環(huán)境是統(tǒng)一的。為了解決開發(fā)環(huán)境一致性的問題,常規(guī)傳統(tǒng)的辦法就是制定開發(fā)人員遵循制定指南,但是盡管如此實(shí)際開發(fā)過程還是會遇到各種障礙。
設(shè)置環(huán)境的常規(guī)方法如下圖所示:

另一種解決方案是使用所有必需的庫和依賴項(xiàng)預(yù)先配置的開發(fā)環(huán)境,開發(fā)人員可以在容器中分拆這些庫和依賴項(xiàng)。然后,開發(fā)人員可以在容器提供的隔離環(huán)境中工作。這極大地減少了開發(fā)人員在克隆代碼庫以開始處理它之間花費(fèi)的時間。

除了為所有開發(fā)人員提供相同的環(huán)境之外,我們可以利用它來自動安裝您的項(xiàng)目所需的特定擴(kuò)展。這可以避免工具的不一致使用,并且省去開發(fā)人員手動安裝的麻煩。
以下是通過結(jié)合使用 Docker 和 VS Code 的Remote — Containers擴(kuò)展來實(shí)現(xiàn)的。
設(shè)置
在本文中,我將提供一個在 Node 環(huán)境中運(yùn)行的 JavaScript 應(yīng)用程序示例。閱讀在容器內(nèi)開發(fā)以獲取所有技術(shù)堆棧的詳細(xì)文檔。
如果您尚未安裝Docker和 VS Code,請先安裝它們。在 VS Code 中安裝Remote — Containers擴(kuò)展。確保 Docker 正在您的機(jī)器上運(yùn)行。
轉(zhuǎn)到您的項(xiàng)目并在根目錄中創(chuàng)建一個名為.devcontainer的文件夾。這個新文件夾包含開發(fā)容器所需的配置文件。
在.devcontainer 中創(chuàng)建Dockerfile和devcontainer.json并添加以下配置。
Dockerfile文件如下
# Specify the base image you want your dev container to use. # You may use the same exact base image your application would use in production for consistancy. # That could prevent surprises such as "works in local, but not in PROD". FROM node:14.17.0-alpine # Additionally you can install other dependencies for the environment while configuring the base image. # In this example, I am installing Git as the Alpine version of node does not come with one. RUN apk update RUN apk add git
devcontainer.json文件如下
{
"name": "DevContainer ReactApp",
// Provide the dev container with a Dockerfile that it can use to build an image and run the container.
"dockerFile": "Dockerfile",
// Command(s) to run before the container is created.
// In this case we are installing the node modules.
"initializeCommand": "yarn install",
// Starts the development server every time the container starts.
// This is triggered on reopening the container as well.
"postStartCommand": "yarn start",
// Forward your application's port(s) running in the container to the local machine.
"forwardPorts": [3000],
// Required VSC code extensions that you want to automatically install for the developers to use.
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"eamodio.gitlens"
]
// Use the devcontainer.json reference to explore all possible configurations.
// https://code.visualstudio.com/docs/remote/devcontainerjson-reference
}
完成后,我們需要構(gòu)建容器。為此,請使用 VS Code 命令面板中的“在容器中打開文件夾”或“在容器中重新打開”。


這應(yīng)該初始化開發(fā)容器。它拉取 docker 基礎(chǔ)鏡像,配置容器,并啟動開發(fā)服務(wù)器。


結(jié)語
容器的構(gòu)建和配置是一次性活動,需要時間。如果沒有更改,后續(xù)重建會更快。但是,如果 devcontainer.json 或 Dockerfile 發(fā)生更改,則需要重新構(gòu)建以應(yīng)用更改。如果您嘗試直接重新打開,系統(tǒng)將提示您重建。
到此這篇關(guān)于使用Vscode結(jié)合docker進(jìn)行開發(fā)的的文章就介紹到這了,更多相關(guān)Vscode結(jié)合docker開發(fā)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vscode中啟用docker擴(kuò)展顯示無權(quán)限的問題解決
- VSCode連接遠(yuǎn)程docker環(huán)境操作步驟
- 在vscode中使用ssh運(yùn)行docker:從下載到運(yùn)行全流程
- vscode進(jìn)入服務(wù)器docker容器的方法
- vscode利用ssh配置docker容器并開啟遠(yuǎn)程編程模式的詳細(xì)步驟
- vscode 遠(yuǎn)程連接服務(wù)器docker容器的設(shè)置方法
- 解決vscode docker插件docker.socket權(quán)限問題
- Docker+Vscode搭建(本地/遠(yuǎn)程)開發(fā)環(huán)境
相關(guān)文章
docker-compose 搭建redis集群(三臺服務(wù)器,每臺服務(wù)器上一主一從)
本文主要介紹了Docker Compose搭建Redis集群是一種便捷高效的方法,本次搭建使用三臺服務(wù)器,每臺服務(wù)器上一主一從,具有一定的參考價(jià)值,感興趣的可以了解一下2025-03-03
使用Docker快速搭建Airflow+MySQL詳細(xì)步驟
本文詳細(xì)介紹了如何使用Docker和Docker Compose安裝并配置Apache Airflow 2.9.3,步驟包括創(chuàng)建項(xiàng)目目錄、編寫docker-compose.yml文件、創(chuàng)建所需目錄結(jié)構(gòu)、啟動和管理Docker容器,以及如何訪問和配置Airflow Web UI,感興趣的朋友跟隨小編一起看看吧2024-09-09
一些常見的精簡Docker?file規(guī)則總結(jié)
這篇文章主要介紹了一些常見的精簡Docker?file規(guī)則的相關(guān)資料,這些精簡規(guī)則有助于優(yōu)化Dockerfile,生成更高效、簡潔的鏡像,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-11-11
用docker一鍵部署前后端分離項(xiàng)目的詳細(xì)流程
這篇文章主要介紹了如何用docker一鍵部署前后端分離項(xiàng)目的詳細(xì)流程,通過圖文結(jié)合的方式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-03-03

