【发布时间】:2020-01-19 21:29:42
【问题描述】:
我已按照 node.js documentation 中的步骤创建 Dockerfile。我正在尝试运行命令 docker exec -it mynodeapp /bin/bash 以进入容器并通过 npm 安装新软件包,但出现以下错误
OCI runtime exec failed: exec failed: container_linux.go:346: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory": unknown
任何想法我做错了什么?
对于 ref,这就是我的 docker-compose 和 dockerfile 的样子
FROM node:latest
RUN mkdir /app
WORKDIR /app
RUN npm install -g nodemon
COPY package.json package.json
RUN npm install
COPY . .
EXPOSE 8080
CMD [ "node", "server.js" ]
和
version: '3'
services:
nodejs:
container_name: mynodeapp
build: .
command: nodemon --inspect server.js
ports:
- '5000:8080'
volumes:
- '.:/app'
networks:
- appnet
networks:
appnet:
driver: 'bridge'
【问题讨论】:
-
docker exec mynodeapp -it /bin/sh? -
同样没有运气。我也试过
docker-comose exec nodejs /bin/bash,但没用 -
使用
docker exec在容器中安装包本身似乎不是一个好主意:一旦容器退出,更改就会丢失。将依赖项添加到您的package.json文件中,在本地对其进行测试,然后重新运行docker-compose build。
标签: node.js docker npm npm-install