npm 通过 运行 节点容器安装包
npm install package through running node container
我已按照 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 和 docker 文件的样子
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/bash
更改为docker exec -it mynodeapp /bin/sh
根据docker documentation,正确的语法如下:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
-i
和-t
是选项
- mynodeapp 是容器
- /bin/bash - 是
容器内的命令
还有一个问题就是容器里面没有bash
shell,所以可以用sh
shell.
我已按照 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 和 docker 文件的样子
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/bash
更改为docker exec -it mynodeapp /bin/sh
根据docker documentation,正确的语法如下:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
-i
和-t
是选项- mynodeapp 是容器
- /bin/bash - 是 容器内的命令
还有一个问题就是容器里面没有bash
shell,所以可以用sh
shell.