如何在Docker容器中正确安装NPM软件包

时间:2019-02-13 04:50:12

标签: docker docker-container docker-image

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

  1. docker pull ci:default

  2. 使用“ docker run -it ci:default / bin / bash”命令运行并输入容器。

  3. 在该容器中,使用“ npm i -g XXX”安装我需要的npm软件包,它可以工作。

  4. 使用“ apt-get更新”保存我对容器所做的更改。

  5. 退出容器,然后使用“ docker commit”命令创建我的自定义映像,让我们通过“ ci:customized”将其命名。

到目前为止,我认为还不错。但是,当我尝试使用“ docker run -d ci:customized”运行新映像时,它无法成功运行,并且我不知道何时做错了,因为我是docker的新手。

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

1 个答案:

答案 0 :(得分:1)

我不知道您的确切问题是什么,因为您没有发布错误消息,但是有一种更好的方法通过使用dockerfiles使用所需的软件包创建映像

创建一个名为Dockerfile

的文件

在其中您可以做类似

的操作
FROM ci:default
RUN npm install

然后您可以使用docker build将其内置到映像中。检查the documentation进行docker构建,但是您只需要docker build --tag ci:customized

之类的东西

以这种方式进行操作的好处是,您现在有了一个文本文件,记录了如何设置图像,因此以后需要修改图像时,您不会忘记之前执行了哪些步骤。