无法在我的容器中运行shell

时间:2017-10-06 10:06:13

标签: docker docker-container docker-image

我想将我的应用程序停靠,我想运行并输入我的容器,以查看软件包是否已正确安装,文件是否已复制等等。

这是我的Dockerfile:

FROM node:8.6
RUN mkdir /app
WORKDIR /app
COPY .*.json .
COPY src/ .
USER node
RUN yarn global add @angular/cli
EXPOSE 4200

问题是,我无法通过docker run

运行我的容器
docker run my-notes -it --rm ash

我看到了错误:

container_linux.go:262: starting container process caused "exec: \"-it\": executable file not found in $PATH"
docker: Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "exec: \"-it\": executable file not found in $PATH".
ERRO[0000] error waiting for container: context canceled 

我做错了什么?

2 个答案:

答案 0 :(得分:1)

问题是您需要在图像名称之前传递docker选项:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

我也回答了这个问题here。希望它有所帮助。

答案 1 :(得分:0)

node图片附带shbashdash

如果你想要ash,你可以安装软件包,但它只是/bin/dash的符号链接,所以你可以运行:

docker run -it --rm my-notes dash

要安装ash包,请将以下内容添加到Dockerfile

RUN set -uex; \
    apt-get update; \
    apt-get install ash; \
    apt-get 

然后可以使用

运行ash / dash
docker run -it --rm my-notes ash