簡體   English   中英

Windows上的docker-compose - 找不到容器命令'sh'或不存在

[英]docker-compose on Windows - Container command 'sh' not found or does not exist

有一些奇怪的問題讓docker在Windows主機上運行,​​但在Linux主機上它很好。 它只是一個簡單的節點容器,可以運行gulp(並最終將附加到其他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確實存在,似乎是一個sym鏈接,如果那些相關的dash 看起來與我的linux主機完全相同。

出了什么問題?

在旁注 ,任何時候我從Linux主機使用docker它就像一個夢想,但窗口我總是失去與Windows特定問題摔跤的時間,npm安裝似乎沒有正常工作或掛起或需要很長時間,卷不在我的問題文件等。在windows / boot2docker上的docker是fubar'ed還是只是我?

在Windows 10和Docker for Windows beta上運行正常。 我要說一個過時的Docker設置或者你的機器上有東西被堵塞了。 如果您仍在運行boot2docker,請嘗試切換到Docker for Windows

在旁注,任何時候我從Linux主機使用docker它就像一個夢想,但窗口我總是失去與Windows特定問題摔跤的時間,npm安裝似乎沒有正常工作或掛起或需要很長時間,卷不在我的問題文件等。在windows / boot2docker上的docker是fubar'ed還是只是我?

Windows總是給幾乎任何東西帶來一些痛苦:p,並且在早期的boot2docker時代,Windows支持非常錯誤/不完整,但是使用最新的Docker for Windows版本,現在運行起來非常順利。

(將此作為答案發布,因為我沒有足夠的代表來評論)

出於某種原因,Docker嘗試在主機而不是guest虛擬機中運行該命令。 由於它表示“容器命令”,您實際上可能希望在“運行”前加上它,就像在線參考一樣

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM