0
我已经建立了一个泊坞窗容器(Node.js的一些项目文件一起安装)与下列Dockerfile:无法启动的Node.js应用程序中内置泊坞集装箱
RUN yum install -y openssl wget unzip gcc gcc-c++ tar make automake git
RUN curl -L https://www.opscode.com/chef/install.sh | bash
[... Chef Related Stuff ...]
#Docker CMD
WORKDIR /var/node
CMD ["/usr/bin/node /var/node/lib/app.js"]
它建立的容器设计在正在使用泊坞窗的本地机器上使用共享目录。当我尝试推出内置容器(即包含CMD ["/usr/bin/node /var/node/lib/app.js"]
部分的)我发现容器无法启动:
US-C02NC26AG3QN:docker user$ docker run -d -v /Users/user/Documents/test_area/docker/nodejs:/var/node front/nodejs
db07b901e83fb45f19d00151129ce42b836cf2379d91cebea54de8b51add614b
2014/11/04 10:42:56 Error response from daemon: Cannot start container db07b901e83fb45f19d00151129ce42b836cf2379d91cebea54de8b51add614b: exec: "/usr/bin/node /var/node/lib/app.js": stat /usr/bin/node /var/node/lib/app.js: no such file or directory
但是,如果我忽略从Dockerfile中的CMD ["/usr/bin/node /var/node/lib/app.js"]
部分,重建图像,并以其工作正常的典型方式启动容器:
US-C02NC26AG3QN:docker user$ docker run -d -v /Users/user/Documents/test_area/docker/nodejs:/var/node front/nodejs /usr/bin/node /var/node/lib/app.js
ab83f476bde812f179c461eacb954fc59da4bcc9e22f5b14fd71d257cd7ade40
US-C02NC26AG3QN:docker user$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ab83f476bde8 front/nodejs:latest "/usr/bin/node /var/ 4 days ago Up 3 seconds clever_lovelace
US-C02NC26AG3QN:docker user$ docker top ab83f476bde8
PID USER COMMAND
19815 root /usr/bin/node /var/node/lib/app.js
这里发生了什么?当启动命令包含在内部版本中时,为什么它无法精细化目录,但是在启动容器时显式使用启动命令时能够找到目录?
虽然它不能解决问题,这可能是真实的 – localhostv6 2014-11-04 19:15:41