如何在 docker 容器中正确安装 npm 包

How to install npm packages correctly in docker container

我有一个默认的 CI 图像,假设它的名字是 ci:default,它可以,而且必须是 运行,由“-d”参数。我想在其中安装一些 npm 包,然后使用新图像作为我自定义的 CI 图像。这是我尝试做的事情:

  1. docker拉ci:default

  2. 使用"docker run -it ci:default /bin/bash"命令运行进入容器

  3. 在那个容器里,使用"npm i -g XXX"安装我需要的npm包,就可以了。

  4. 使用"apt-get update"保存我对容器所做的更改。

  5. 退出容器,然后使用"docker commit"命令创建我的自定义镜像,命名为"ci:customized".

到目前为止一切顺利,如我所想。但是当我尝试使用 "docker run -d ci:customized" 来 运行 新图像时,它无法 运行 成功,而且我不知道什么时候做错了,因为我是 [=49] 的新手=].

有人可以告诉我如何实现我的目标吗?

我不知道你的确切问题是什么,因为你没有 post 一条错误消息,但是有一个更好的方法来使用你想要的包创建图像 docker文件

创建一个名为 Dockerfile

的文件

在里面你可以做类似

的事情
FROM ci:default
RUN npm install

然后您可以使用 docker build 将其构建到图像中。检查 the documentation 是否有 docker build 但你应该只需要像 docker build --tag ci:customized

这样的东西

这样做的好处是您现在有一个文本文件记录了如何设置您的图像,所以当您以后需要修改它时您不会忘记之前执行的步骤。