无法在我的容器中 运行 shell
Unable to run shell in my container
我想对我的应用程序进行 docker 化,我想 运行 并进入我的容器,以查看包是否正确安装、文件是否被复制等。
这是我的 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
我做错了什么?
问题是您需要在图像名称之前而不是之后传递 docker 选项:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
我也回答了这个问题。希望对你有帮助。
node
图片带有 sh
、bash
和 dash
。
如果你想要 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
我想对我的应用程序进行 docker 化,我想 运行 并进入我的容器,以查看包是否正确安装、文件是否被复制等。
这是我的 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
我做错了什么?
问题是您需要在图像名称之前而不是之后传递 docker 选项:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
我也回答了这个问题
node
图片带有 sh
、bash
和 dash
。
如果你想要 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