iT邦幫忙

0

win10 docker新增 打包問題請教

  • 分享至 

  • xImage

您好:
我參考

https://cwhu.medium.com/docker-tutorial-101-c3808b899ac6

其中 二、準備好打包的目標程式
請問,我是要自己建一個資料夾嗎? 比如:
D:\docker\test01
然後再新增 Dockerfile 檔案

這樣做嗎?

謝謝!

史帝夫 iT邦新手 2 級 ‧ 2022-07-21 09:26:13 檢舉
看起來他是有提供GIT連結,你下載後會有個 docker-demo-app
他是要打包這裡面的程式
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
echochio
iT邦高手 1 級 ‧ 2022-07-21 16:27:09

文章說
git clone https://github.com/HcwXd/docker-tutorial.git 後 cd docker-demo-app,我們可以看到資料夾中有五個檔案:

https://github.com/HcwXd/docker-tutorial/tree/master/docker-demo-app

就是進去打包這五個檔案

docker build . -t docker-demo-app

那個docker build 後面那個 點 就是當下的目錄 Dockerfile 去打包

Dockerfile 內容是:

FROM node:10.15.3-alpine
WORKDIR /app
ADD . /app
RUN npm install
EXPOSE 3000
CMD node index.js

每行Dockerfile 的是:

用 node:10.15.3-alpine 這個OS
工作目錄是 /app
把當下win10 目錄的所有檔案複製到 docker 內 /app 目錄下
對外服務port 3000
執行 node index.js

看 index.js 是開一個 3000 port 的網站
網站內容是docker 內的 docker.html

大概就是這樣

不考慮效能用 docker 很方便跨平台跑也沒問題
以前客戶要用 ntopng 懶的幫他裝就用 已寫好的 docker
https://github.com/echochio-tw/ntopng_docker
去裝來監控網路流量

或是寫程式的不必去考量系統如何安裝環境如何設定 就以建立服務
https://github.com/echochio-tw/flask-appbuilder-docker

看更多先前的回應...收起先前的回應...
noway iT邦研究生 1 級 ‧ 2022-07-21 20:39:31 檢舉

您好:
我想請教
若開始 重無到有,要如何做?

docker 內 /app 目錄下 ,docker 在哪邊? 可以 自己在D:\建立一個 嗎? 還是有特定路徑?

打包後,要用docker 引入嗎?
謝謝!

greenriver iT邦研究生 4 級 ‧ 2022-07-22 08:25:18 檢舉

noway
docker 內的 /app 目錄,在C槽跟D槽都找不到。
D槽建立的資料夾,也必須經由Add . /app複製進去。
除非使用docker volume。去將實體的資料夾,連結到docker的空間裡面。
這個我也還在研究,覺得複雜.....

echochio iT邦高手 1 級 ‧ 2022-07-22 11:56:46 檢舉

Add 是複製到 docker 內
Add . /app 是指當下目錄複製進去
如要將資料放外面 HDD
就是 Docker 去掛載外部硬碟
如外部是:
D:\docker\test01

就寫:
docker run -p 3000:3000 -it -v //d/docker/test01:/app docker-demo-app

noway iT邦研究生 1 級 ‧ 2022-07-25 21:37:06 檢舉

那請問
docker run -p 3000:3000 -it -v //d/docker/test01:/app docker-demo-app
這一段,要寫在哪裡?
謝謝!

就如您的範例:
我將 5個檔案,放在D:\docker\test01\ 下
1.我CMD 切到 D:\docker\test01\下
再執行
docker build . -t docker-demo-app

2.Dockerfile 內容否要改路徑?

3.這是要哪時候執行?
docker run -p 3000:3000 -it -v //d/docker/test01:/app docker-demo-app

謝謝!

echochio iT邦高手 1 級 ‧ 2022-07-26 21:49:25 檢舉
  1. 切到 D:\docker\test01\下
    再執行 ....
    為啥要 切到 那目錄 ? 這是要瞭解的

2.Dockerfile 內容否要改路徑?
先搞懂你要的 .... container 內還是外部
先了解 container ..... 不清楚先 google

  1. docker run -it --volume
    與 docker run -it -v 是相同的
    https://medium.com/@kale.miller96/how-to-mount-your-current-working-directory-to-your-docker-container-in-windows-74e47fa104d7
    如再不懂啥請自行 google 中文說明

為啥要 build 再 run 這不必說明了吧?

noway iT邦研究生 1 級 ‧ 2022-07-30 10:41:38 檢舉

您好:
謝謝您的指導,我的問法不對,從新釐清
1.我將五個檔案放在D:_docker01\docker-demo-app\下
我CMD 目錄切到 D:_docker01\docker-demo-app\,並執行
docker build . -t docker-demo-app

這時候,他產生的image 是放在哪邊?
找不到這一個檔案
可以將 image 指向 D:\docker\images下嗎?

因為若預設是放在C下,未來空間可能不夠
謝謝!

echochio iT邦高手 1 級 ‧ 2022-08-09 09:57:50 檢舉

只是搞不懂您
既然要測試 Docker 就該去研究一下 Dockerfile 寫法
您要的那些資訊google 馬上就有了
或是直接測試一下馬上就知道了
測試應該花不到幾分鐘吧

Docker 就是一個小VM
不熟 VM 先去研讀再來玩 Docker 比較快
因為你一直問 如何將動西丟到 VM 裡面去

先熟 windows 相對路徑 絕對路徑
一直問 路徑的問題 很怪耶 ?

我要發表回答

立即登入回答