2017-08-26 93 views
5
# Dockerfile 
FROM node:7-alpine 
RUN mkdir -p /src/app 
WORKDIR /src/app 
COPY package.json /src/app/package.json 
RUN npm install 
COPY . /src/app 
EXPOSE 3000 
CMD ['npm', 'start'] 

düğüm görüntüden liman işçisi kabı çalıştırırken NPM bulunamadı. yapı tamamlar ancak görüntü çalışan hemen çıkar ve liman işçilerinin günlüklerinde görüyorum:Yukarıda Dockerfile ile <a href="https://katacoda.com/courses/docker/3" rel="noreferrer">Dockerizing nodejs</a> uygulamalar için <a href="https://katacoda.com" rel="noreferrer">katacoda.com</a> egzersizi tamamlamaya çalışıyorum

/bin/sh: [npm,: not found 

Buraya neler olduğunu emin değilim Yani hata docker: Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory". kaldırdı docker -it nodeapp /bin/bash ile etkileşimli modda kabı çalışan çalıştı .

+0

'docker -it nodeapp' 'den sonra' npm 'nin npm'nin kurulu olup olmadığını veya –

+0

'u görmemesini sağlayın, çünkü alpine yukarıdaki hatadan dolayı bash olmaz. 'sh' ile deneyin ve daha sonra –

+0

teşekkürler @TuanAnhTran 'docker -it nodeapp sh' çalışır ve npm npm yüklenir ve npm başlangıç ​​ – Peter

cevap

5

çalışmıyor nedeni, liman işçisi tek tırnak kaldıracaktır çift tırnak kullanımı gibi komutu işlemez ne zaman

CMD ["npm", "start"] 

olmalıdır tek tırnak

CMD ['npm', 'start'] 

olduğunu Eğer hata [npm, bkz yüzden [npm, start]

: bulunamadı

+0

Bugün öğrendim. Teşekkürler –

+0

Tek teklif kullanmaya alıştım, bugün de öğrendim –