昨天src找不到資料是因為windows未設定共享資料夾,在Docker Daemon裡面找不到windows的相關檔案
打開Virutalbox設定共享資料夾或是在Docker for Windows裡面有Shared Folder可以勾選
設定好後(我設定分享我的gitrepo資料夾),可以用docker-machine ssh登入
可以存取到在windows底下gitrepo的資料夾
修改docker-compose.yml volumes部分
version: '3'
services:
...
volumes:
- /usr/nestapp/node_modules
- /gitrepo/iron-nest/src:/usr/nestapp/src
- /gitrepo/iron-nest/test:/usr/nestapp/test
執行docker-compose up
接下來加入測試部分,差別只是在dockerfile最後的CMD不一樣而已
然而這並不需要再建立新的dockerfile,只要在docker-compose.yml新增command,覆蓋原本dockerfile CMD部分
修改docker-compose.yml
version: '3'
services:
redis-server: # redis server
image: 'redis'
nest-app: # nestjs app name
restart: always
build:
context: .
dockerfile: Dockerfile.dev
ports:
- '8080:3000'
volumes:
- /usr/nestapp/node_modules
- /gitrepo/iron-nest/src:/usr/nestapp/src
nest-app-test: # 建立新的container跑測試
build: # 沿用nest-app的設定
context: .
dockerfile: Dockerfile.dev
volumes:
- /usr/nestapp/node_modules
- /gitrepo/iron-nest/src:/usr/nestapp/src
- /gitrepo/iron-nest/test:/usr/nestapp/test
command: npm run test #指定覆寫dockerfile的CMD
可以看到跑應用程式外一併跑測試