中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

個(gè)人網(wǎng)站的設(shè)計(jì)論文廣西seo經(jīng)理

個(gè)人網(wǎng)站的設(shè)計(jì)論文,廣西seo經(jīng)理,網(wǎng)站要怎么上傳,adobe網(wǎng)站開發(fā)使用docker部署node和react應(yīng)用 Docker 使開發(fā)人員能夠?qū)⑺袘?yīng)用程序打包到容器中。這些容器可以在任何安裝了 Docker 的機(jī)器上運(yùn)行,并且應(yīng)用程序?qū)⑹窍嗤?。這是在多個(gè)系統(tǒng)上運(yùn)行代碼庫克隆的好方法,并且我們可以確保它們都是相同的。 在本文中&…

使用docker部署node和react應(yīng)用

Docker 使開發(fā)人員能夠?qū)⑺袘?yīng)用程序打包到容器中。這些容器可以在任何安裝了 Docker 的機(jī)器上運(yùn)行,并且應(yīng)用程序?qū)⑹窍嗤?。這是在多個(gè)系統(tǒng)上運(yùn)行代碼庫克隆的好方法,并且我們可以確保它們都是相同的。

在本文中,我們將學(xué)習(xí)如何在 Docker 容器內(nèi)創(chuàng)建和運(yùn)行 NodeJS Express 后端和 React 前端應(yīng)用。

在 Docker 中運(yùn)行 NodeJS

開始之前,請確保計(jì)算機(jī)上已安裝并運(yùn)行 Docker。

現(xiàn)在使用命令行導(dǎo)航到桌面等目錄,然后運(yùn)行以下命令。

mkdir my-app-docker
cd my-app-docker
touch docker-compose.yml
mkdir api
cd api
npm init -y
npm i express
touch app.js Dockerfile .dockerignore
cd ..

我們設(shè)置了一個(gè)名為 api 的后端并創(chuàng)建了一些 Docker 文件?,F(xiàn)在在代碼編輯器中打開項(xiàng)目并將以下代碼添加到相應(yīng)的文件中。

將其放入docker-compose.yml文件中。要非常注意 yaml 格式,否則在嘗試運(yùn)行它時(shí)會(huì)出現(xiàn) Docker 錯(cuò)誤。

version: '3.8'
services:api:build: ./apicontainer_name: api_backendports:- '4000:4000'volumes:- ./api:/app- ./app/node_modules

而我們的node應(yīng)用非常簡單,就只有一個(gè)文件

const express = require('express');const app = express();const port = process.env.PORT || 4000;app.get('/', (req, res) => {res.send('Home Route');
});app.listen(port, () =>console.log(`Server running on port ${port}, http://localhost:${port}`)
);

現(xiàn)在將此行添加到.dockerignore文件中

node_modules

把下面的代碼添加到Dockerfile文件中

FROM node:16-alpineWORKDIR /appCOPY package.json .RUN npm installCOPY . .EXPOSE 4000CMD ["node", "app.js"]

最后將此運(yùn)行腳本命令添加到package.json文件中。

"scripts": {"start": "node app.js"},

使用 Nodemon 讓服務(wù)器在發(fā)生更改時(shí)自動(dòng)重新啟動(dòng)(可選)

如果我們希望每次更改后端文件時(shí)都重新啟動(dòng)服務(wù)器,那么我們可以將其配置為使用 Nodemon。

我們所要做的就是更新api文件夾內(nèi)的Dockerfilepackage.json文件。

更新Dockerfile。我們現(xiàn)在在啟動(dòng)時(shí)安裝 Nodemon 并使用dev作為運(yùn)行命令。

FROM node:16-alpineRUN npm install -g nodemonWORKDIR /appCOPY package.json .RUN npm installCOPY . .EXPOSE 4000CMD ["npm", "run", "dev"]

package.json現(xiàn)在使用 Nodemon 的運(yùn)行腳本更新文件。

"scripts": {"start": "node app.js","dev": "nodemon -L app.js"},

我們剛剛創(chuàng)建了一個(gè)在端口 4000 上運(yùn)行的基本 Express 應(yīng)用程序。該端口也映射到 docker 中的 4000,這讓我們可以在 Docker 容器中運(yùn)行它。

啟動(dòng)服務(wù)器

要像平常一樣使用 NodeDocker 容器外部運(yùn)行服務(wù)器,只需在命令行中運(yùn)行以下代碼即可。我們需要確保位于 api 文件夾內(nèi)。如果我們訪問http://localhost:4000,我們應(yīng)該會(huì)在瀏覽器窗口中看到主路由。

npm run start

Express 應(yīng)用程序在 Docker 內(nèi)運(yùn)行需要不同的命令。首先,我們需要位于docker-compose.yml文件所在的根文件夾中?,F(xiàn)在運(yùn)行下面的命令,它應(yīng)該在 Docker 容器內(nèi)運(yùn)行。

docker-compose up

不要忘記首先停止運(yùn)行節(jié)點(diǎn)服務(wù)器,因?yàn)槲覀冎荒茏屢慌_(tái)服務(wù)器在端口 4000 上運(yùn)行。

可以使用以下命令停止服務(wù)器,也可以轉(zhuǎn)到 Docker 應(yīng)用程序并停止容器運(yùn)行。

docker-compose down

在 Docker 中運(yùn)行 React 前端

現(xiàn)在讓我們創(chuàng)建一個(gè) React 項(xiàng)目。使用命令行進(jìn)入 my-app-docker 的根文件夾。運(yùn)行以下命令來設(shè)置項(xiàng)目。

npx create-react-app client
cd client
touch .dockerignore Dockerfile

現(xiàn)在將以下代碼添加到相應(yīng)的文件中。

將此行添加到.dockerignore文件中。

node_modules

將此代碼放入Dockerfile文件中。

FROM node:17-alpineWORKDIR /appCOPY package.json .RUN npm installCOPY . .EXPOSE 3000CMD ["npm", "start"]

最后使用以下代碼更新根文件夾中的docker-compose.yml。我們在底部添加了一個(gè)客戶端部分,其中包含用于在 Docker 容器內(nèi)運(yùn)行 React 的設(shè)置。

version: '3.8'
services:api:build: ./apicontainer_name: api_backendports:- '4000:4000'volumes:- ./api:/app- ./app/node_modulesclient:build: ./clientcontainer_name: client_frontendports:- '3000:3000'volumes:- ./client:/app- ./app/node_modulesstdin_open: truetty: true

啟動(dòng)服務(wù)器

要像平常一樣使用 NodeDocker 容器外部運(yùn)行服務(wù)器,只需在命令行中運(yùn)行以下代碼即可。

npm run start

確保我們位于客戶端文件夾內(nèi)。如果我們訪問http://localhost:3000,我們應(yīng)該會(huì)在瀏覽器窗口中看到主路由。

React 應(yīng)用程序在 Docker 內(nèi)運(yùn)行需要不同的命令。首先,我們需要位于docker-compose.yml文件所在的根文件夾中?,F(xiàn)在運(yùn)行下面的命令,它應(yīng)該在 Docker 容器內(nèi)運(yùn)行。

docker-compose up

不要忘記首先停止運(yùn)行 React 應(yīng)用程序服務(wù)器,因?yàn)槲覀冎荒茏屢慌_(tái)服務(wù)器在端口 3000 上運(yùn)行。

如果我們訪問http://localhost:3000,我們應(yīng)該會(huì)在瀏覽器窗口中看到主路由。

我們可以使用以下命令停止服務(wù)器,也可以轉(zhuǎn)到 Docker 應(yīng)用程序并停止容器運(yùn)行。

docker-compose down

通過此設(shè)置,我們可以在 Docker 內(nèi)同時(shí)運(yùn)行 NodeJS 后端和 React 前端項(xiàng)目。如果遇到任何錯(cuò)誤,則可能需要打開 Docker 桌面應(yīng)用程序并刪除與該項(xiàng)目相關(guān)的任何鏡像。然后我們可以嘗試docker-compose up再次運(yùn)行該命令。

http://www.risenshineclean.com/news/3005.html

相關(guān)文章:

  • 畢業(yè)設(shè)計(jì)做視頻網(wǎng)站產(chǎn)品怎么進(jìn)行推廣
  • 寧波網(wǎng)站營銷推廣制作百度廣告聯(lián)盟收益
  • 工信部企業(yè)網(wǎng)站認(rèn)證公關(guān)公司排名
  • 網(wǎng)站域名更換是怎么做的搭建網(wǎng)站需要哪些步驟
  • 做滾動(dòng)圖的免費(fèi)網(wǎng)站百度競價(jià)返點(diǎn)開戶
  • 旅游網(wǎng)站設(shè)計(jì)的優(yōu)點(diǎn)seo站內(nèi)優(yōu)化站外優(yōu)化
  • 阜寧網(wǎng)站建設(shè)服務(wù)商seo整站優(yōu)化哪家好
  • b2b網(wǎng)站排行榜口碑營銷成功案例
  • 長沙做痔瘡東大醫(yī)院de網(wǎng)站網(wǎng)店推廣方案范文
  • 網(wǎng)站永久鏡像怎么做站長之家seo查找
  • 大慶市建設(shè)大廈網(wǎng)站國家提供的免費(fèi)網(wǎng)課平臺(tái)
  • 阿里云備案做網(wǎng)站seo怎么賺錢
  • 58網(wǎng)站怎么做瀏覽度才高軟文代寫兼職
  • 云程環(huán)境建設(shè)集團(tuán)網(wǎng)站seo精準(zhǔn)培訓(xùn)課程
  • 做文明人網(wǎng)站專題百度推廣怎么做效果好
  • 廣州做網(wǎng)站西安seo陽建
  • 昆山室內(nèi)設(shè)計(jì)學(xué)校百度seo點(diǎn)擊軟件
  • 福州專業(yè)網(wǎng)站建設(shè)優(yōu)秀軟文范例800字
  • 重慶微信網(wǎng)站代理商seo提高網(wǎng)站排名
  • 網(wǎng)站開發(fā)屬于什么軟件可以免費(fèi)發(fā)外鏈的論壇
  • 國外怎么做直播網(wǎng)站蘭州seo快速優(yōu)化報(bào)價(jià)
  • 網(wǎng)站安全檢測在線武漢seo網(wǎng)站優(yōu)化
  • 北京門戶網(wǎng)站設(shè)計(jì)打開2345網(wǎng)址大全
  • 西安網(wǎng)站推廣方案建網(wǎng)站公司
  • windows7做網(wǎng)站安卓優(yōu)化大師2023
  • 網(wǎng)站如何做后臺(tái)太原seo服務(wù)
  • 用dw做網(wǎng)站時(shí)怎么添加彈窗拉新工作室在哪里接項(xiàng)目
  • 杭州做銷售去哪個(gè)網(wǎng)站好做網(wǎng)站用什么軟件
  • 沒有網(wǎng)站怎么做鏈接視頻教程5118關(guān)鍵詞工具
  • 上虞網(wǎng)站建設(shè)哪家好北京營銷推廣網(wǎng)站建設(shè)