前言
使用 Docker 與 VS Code 可以優(yōu)化整個本地開發(fā)環(huán)境,加速項目進(jìn)度過程。在所有環(huán)境中使用相同的基礎(chǔ)映像,為所有開發(fā)人員提供相同的編輯器工具,可以更容易實現(xiàn)標(biāo)準(zhǔn)。
大型項目的團(tuán)隊首先必須確保安裝依賴、內(nèi)核版本這些開發(fā)環(huán)境是統(tǒng)一的。為了解決開發(fā)環(huán)境一致性的問題,常規(guī)傳統(tǒng)的辦法就是制定開發(fā)人員遵循制定指南,但是盡管如此實際開發(fā)過程還是會遇到各種障礙。
設(shè)置環(huán)境的常規(guī)方法如下圖所示:
另一種解決方案是使用所有必需的庫和依賴項預(yù)先配置的開發(fā)環(huán)境,開發(fā)人員可以在容器中分拆這些庫和依賴項。然后,開發(fā)人員可以在容器提供的隔離環(huán)境中工作。這極大地減少了開發(fā)人員在克隆代碼庫以開始處理它之間花費的時間。
除了為所有開發(fā)人員提供相同的環(huán)境之外,我們可以利用它來自動安裝您的項目所需的特定擴(kuò)展。這可以避免工具的不一致使用,并且省去開發(fā)人員手動安裝的麻煩。
以下是通過結(jié)合使用 Docker 和 VS Code 的Remote — Containers擴(kuò)展來實現(xiàn)的。
設(shè)置
在本文中,我將提供一個在 Node 環(huán)境中運行的 JavaScript 應(yīng)用程序示例。閱讀在容器內(nèi)開發(fā)以獲取所有技術(shù)堆棧的詳細(xì)文檔。
如果您尚未安裝Docker和 VS Code,請先安裝它們。在 VS Code 中安裝Remote — Containers擴(kuò)展。確保 Docker 正在您的機器上運行。
轉(zhuǎn)到您的項目并在根目錄中創(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)文章希望大家以后多多支持腳本之家!