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

如何在docker容器中正确安装npm包,docker,docker-container,docker-image,Docker,Docker Container,Docker Image,我有一个默认的CI映像,假设它的名称是CI:default,它可以并且必须由“-d”参数运行。我想在其中安装一些npm包,然后将新映像用作我的自定义CI映像。以下是我尝试的方法: docker pull ci:默认值 使用“docker run-it ci:default/bin/bash”命令运行并输入cotainer 在这个容器中,使用“npmi-gxxx”安装我需要的npm包,它就可以工作了 使用“apt get update”保存我对容器所做的更改 退出容器,然后使用“docker co

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

  • docker pull ci:默认值

  • 使用“docker run-it ci:default/bin/bash”命令运行并输入cotainer

  • 在这个容器中,使用“npmi-gxxx”安装我需要的npm包,它就可以工作了

  • 使用“apt get update”保存我对容器所做的更改

  • 退出容器,然后使用“docker commit”命令创建我的自定义映像,我们将其命名为“ci:customized”

  • 正如我所想,到目前为止一切都很好。但是,当我尝试使用“docker run-d ci:customized”运行新映像时,它无法成功运行,而且我不知道我什么时候做错了,因为我是docker新手


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

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

    创建一个名为
    Dockerfile

    在它里面你可以做一些像

    FROM ci:default
    RUN npm install
    
    然后可以使用docker build将其构建到图像中。检查docker build,但您应该只需要类似于
    docker build——标记ci:customized


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

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

    创建一个名为
    Dockerfile

    在它里面你可以做一些像

    FROM ci:default
    RUN npm install
    
    然后可以使用docker build将其构建到图像中。检查docker build,但您应该只需要类似于
    docker build——标记ci:customized


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

    我没有发布任何错误消息的原因是没有错误消息。一切都很好,但结果是错的。我弄明白了。事实证明,入口点与原始图像不同。我没有发布任何错误消息的原因是没有错误消息。一切都很好,但结果是错的。我弄明白了。结果表明,入口点与原始图像不同