有一些奇怪的問題讓docker在Windows主機上運行,但在Linux主機上運行良好。它只是一個簡單的節點容器,可以運行吞嚥(並最終將附加到其他類似容器的LAMP)。在Windows上的docker-compose - 沒有找到或不存在容器命令'sh'
我的搬運工,compose.yml
version: '2'
services:
node:
build: ./node
container_name: cont_node
ports:
- "35733:35733"
volumes:
- ~/docker/project/www:/var/www/html/
command: "sh -c 'npm install && bower install && gulp'"
我Dockerfile
FROM node:4-onbuild
RUN npm config set registry http://registry.npmjs.org/
# Define working directory.
WORKDIR /var/www/html/
COPY ./package.json /var/www/html/
RUN npm install -g gulp-cli
CMD ["bash"]
所以當我運行
docker-compose up node
返回
Container command 'sh' not found or does not exist.
因爲我明白command
命令運行在容器(不是主機)上,這應該沒問題?我也嘗試過/bin/sh
也有同樣的問題。 /bin/sh
確實存在,似乎是一個SYS鏈接dash
如果這是相關的?看起來與我的Linux主機完全一樣,這工作正常。
任何想法出了什麼問題?
在一個側面說明,只要我使用泊塢窗從Linux主機它就像一個夢想,但窗戶,我總是失去與Windows的具體問題摔跤小時,故宮安裝似乎沒有正常工作,或掛或採取年齡,與卷不在我的文件等問題等。是docker在windows/boot2docker fubar'ed或只是我?
@PanagiotisKanavos沒有'命令'在撰寫上運行的容器上?不在主機上? https://docs.docker.com/compose/compose-file/#command – Horse
對於它的價值,我在Linux上進行了轉換,並且沒有任何困難讓/ bin/sh在那裏工作。由於我沒有有效的package.json,我的測試停止了。 – BMitch
@BMitch謝謝你的嘗試!我也有它在Linux上工作得很好,它很煩人,爲什麼Windows不會玩好:(如果它抱怨theres沒有package.json它比我更進一步 – Horse