我知道那裏有多個實例(實際上只有幾個),並且我研究了一些並嘗試將它們應用於我的案例,但後來當我嘗試提起集裝箱時(docker-compose up
)我每次都會得到或多或少的相同錯誤。碼頭集裝箱內的提升帆
我的文件夾結構是:
sails-project
--app
----api
----config
----node_modules
----.sailsrc
----app.js
----package.json
--docker-compose.yml
--Dockerfile
的docker-compose.yml
文件:
sails:
build: .
ports:
- "8001:80"
links:
- postgres
volumes:
- ./app:/app
environment:
- NODE_ENV=development
command: node app
postgres:
image: postgres:latest
ports:
- "8002:5432"
而且Dockerfile
:
FROM node:0.12.3
RUN mkdir /app
WORKDIR /app
# the dependencies are already installed in the local copy of the project, so
# they will be copied to the container
ADD app /app
CMD ["/app/app.js", "--no-daemon"]
RUN cd /app; npm i
我試着也有RUN npm i -g sails
而不是(在Dockerfile
)和command:sails lift
,但我是g ETTING:
當然,我試過Dockerfile
的不同配置,然後用不同的命令(node app
,sails lift
,npm start
,等...),而是不斷用同樣的錯誤結束了。有任何想法嗎?
忘了說我已經在項目的本地副本中安裝了依賴項,所以'ADD app/app'會複製依賴關係。現在我將使用此信息更新OP。 :) – Milkncookiez
@Milkncookiez當然。但是在vanilla sails項目中,node_modules中的sails文件夾是符號鏈接。在你的dockerfile中,只有符號鏈接將被複制,而不是整個文件夾。測試此安裝將在本地項目文件夾中進行。 –
我做了,它現在正在運行,我不知道爲什麼以及如何。 'Dockerfile'中我沒有真正改變。 – Milkncookiez