我有一个名为的容器my_container
,docker run -i -t my_container
可以在运行时运行,然后npm --version
得到2.7.4
。
但是,当我尝试使用容器从外部运行同一命令时,docker run --workdir=/home/ubuntu/www my_container npm --version
出现错误消息:
找不到npm。lxc-start:容器启动失败。lxcstart:可以通过设置--logfile和--logpriority选项获得其他信息。
我运行的大多数命令不仅具有相同的行为npm
。如果有更多线索,我将在Circle CI中进行。
可能是因为容器的entrypoint
目的是为您提供一个外壳,但不带参数。您可以docker inspect
用来查看图像的入口点。
$ docker build -
FROM busybox
ENTRYPOINT ["/bin/sh"]
Sending build context to Docker daemon 2.048 kB
Sending build context to Docker daemon
Step 0 : FROM busybox
---> 8c2e06607696
Step 1 : ENTRYPOINT /bin/sh
---> Running in eb5b4d32af96
---> ad1286aebbe2
Removing intermediate container eb5b4d32af96
Successfully built ad1286aebbe2
13:59 ~ $ docker run --rm -ti ad1286aebbe2 echo hi
/bin/sh: can't open 'echo'
busybox
官方没有入口点,因此参数被视为命令,这意味着它们直接进入/ bin / sh -c。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句