有一些奇怪的问题,让docker行为在Windows主机,但在Linux主机罚款。 它只是一个简单的节点容器,可以运行吞咽(并最终将附加到其他LAMP像容器)。
我的docker-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主机,这工作正常。
任何想法出了什么问题?
在一个侧面说明 ,任何时候我使用docker从一个linux主机它的作品就像一个梦想,但Windows我总是失去与Windows特定的问题摔跤,npm安装似乎没有正常工作或挂起或需要年龄,问题卷不在我的文件等。在Windows / boot2docker fubar'ed泊坞窗或只是我?
在Windows 10和Docker for Windows Beta上运行良好。 我会说,或者过时的Docker设置或者在你的机器上进行了一些操作。 如果您仍在运行boot2docker,请尝试切换到Docker for Windows 。
在一个侧面说明,任何时候我使用docker从一个linux主机它的作品就像一个梦想,但Windows我总是失去与Windows特定的问题摔跤,npm安装似乎没有正常工作或挂起或需要年龄,问题卷不在我的文件等是在码头上的Windows / boot2docker fubar'ed或只是我?
那么Windows总是会给几乎任何东西增加一点痛苦:p,而且在早期的boot2docker日子里,Windows支持是非常错误的/不完整的,但是最新的Docker for Windows版本现在运行起来非常顺利。
(因为我没有足够的代表评论)
出于某种原因,Docker尝试在主机而不是guest中运行命令。 既然它说的是“容器命令”,你可能真的想用“运行”来加上它,就像在线参考一样 。