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

问题描述 投票:0回答:1

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

  1. docker pull ci:默认
  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”运行新映像时,它无法成功运行,而且我不知道我什么时候出错,因为我是docker的新手。

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

docker docker-container docker-image
1个回答
2
投票

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

创建一个名为Dockerfile的文件

在其中你可以做类似的事情

FROM ci:default
RUN npm install

然后,您可以使用docker build将其构建到映像中。检查the documentation的docker build,但你应该只需要像docker build --tag ci:customized这样的东西

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

© www.soinside.com 2019 - 2024. All rights reserved.