有没有一种方法可以在运行的docker环境中安装节点软件包而无需重新启动?
我已经通过docker-compose运行了一些容器,并且在容器运行时需要使用npm i <packagename>
。
到目前为止,我没有找到与Google一致的答案。
答案 0 :(得分:0)
您可以使用docker exec
在活动容器中运行任何命令。在您的情况下,它将是:
// Replace <your-container-id> and <your-package-name>
docker exec -it <your-container-id> "npm install <your-package-name>"
或,如果您想使用容器名称代替容器ID ,则可以使用:
// Replace <your-container-id> and <your-package-name>
docker exec -it $(docker ps | grep <your-container-name> | awk '{ print $1 }') "npm install <your-package-name>"
在这里,您可以获得有关docker exec [expr.const]/4 命令的更多信息。 (文档文档)
答案 1 :(得分:0)
docker exec -it [container-id] /bin/bash
cd
到工作区,然后npm install packagename
。应该安装所需的软件包,并将其添加到package.json
答案 2 :(得分:0)
使用docker exec
+ npm install <package-name>
。
https://docs.docker.com/engine/reference/commandline/exec/