前言
最近已經荒廢學習技術相關東西,主要經營都是在 discord 上面。剛好這次想要透過 docker 代替常駐程式作法,因此,這次來試試看 dotnet 與 node 一次用上起來。
一、dotnet 環境
上次我有一篇是提到 api 上架部分,這邊我考慮不使用任何程式碼快速產生一個 dotnet、dockerfile。
- 相關連結 : Docker】使用VSC部屬minimal api
處理方式很簡單,但我們實際要用的是 Console App,因此我們可以透過 dotnet new console 來建立一個 Console App。
1 | dotnet new console -n dotnet_node |
1-1 VS Code 加入 Dockerfile
這邊我們可以看到 Program.cs 內容,這邊我們不會特別修改,只是要部屬到 docker 中。接著我們用 ctrl + shift + p
來搜尋 docker: add docker files to workspace,這邊我們選擇 .NET Core 就完成了,連程式碼都不用打就完成裡面的內容。
以下範例是用 StartFMS.DiscordBot 範本。
1 | # 基礎映像 |
1-2 執行 docker build / run
使用方式依據下方指令即可執行。restart=always 是指當 container 關閉時會自動重啟,如果重開/開機電腦就會隨著 docker 一起啟動。
1 | docker build -t dotnet_node . # 建立映像 |
二、node 環境
我這邊工具會著重於 node express 製作 api + json 當作簡易的資料庫環境。
2-1 建立 node 專案
1 | npm init # 初始化專案 |
2-2 創建 index.js
1 | const express = require('express'); |
2-3 執行 node
基本上 node 就完成了,接續就轉到 dockerfile 的部分。
1 | node index.js |
2-4 Dockerfile
創建方式一樣 ctrl + shift + p
來搜尋 docker: add docker files to workspace,這邊我們選擇 Node.js 就完成了。需要注意是內容不能使用產生的內容,再請改成以下內容。
本次使用 3000 port 如果需要換就自行換掉。
1 | # 使用官方 Node.js LTS 版本作為基礎映像 |
2-5 執行 docker build / run
使用指令與 dotnet 稍微不一樣,dotnet 版本後面還有一個點也就是說要指定目錄,而 node 就不用就不會有dotnet問題。啟動後就可以透過 url 來看到結果。
1 | docker build -t node_sample # 建立映像 |