Как правильно установить пакеты npm в Docker-контейнере - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть изображение CI по умолчанию, предположим, что его имя ci: default, и оно может быть и должно запускаться аргументами "-d".Я хочу установить в него несколько пакетов npm, а затем использовать новый образ в качестве своего настроенного образа CI.Вот как я пытаюсь это сделать:

  1. docker pull ci: default

  2. use "docker run -it ci: default / bin / bash«Команда для запуска и ввода cotainer.

  3. В этом контейнере используйте« npm i -g XXX »для установки необходимых мне пакетов npm, и это работает.

  4. используйте «apt-get update» для сохранения изменений, которые я сделал в контейнере.

  5. выйдите из контейнера, а затем используйте команду «docker commit» для создания моегонастроенное изображение, назовем его «ci: custom».

Пока все хорошо, как я думал.Но когда я пытаюсь запустить новый образ с помощью «docker run -d ci: customised», он не может быть запущен успешно, и я не знаю, когда я поступил неправильно, так как я новичок в docker.

Может кто-нибудь сказать, пожалуйста, как достичь моей цели?

1 Ответ

0 голосов
/ 13 февраля 2019

Я не знаю, в чем конкретно ваша проблема, потому что вы не опубликовали сообщение об ошибке, но есть гораздо лучший способ создать изображение с нужными вам пакетами с помощью dockerfiles

создать файлназывается Dockerfile

, в нем вы можете сделать что-то вроде

FROM ci:default
RUN npm install

Затем вы можете использовать сборку Docker, чтобы встроить это в образ.Посмотрите документацию для сборки докера, но вам просто нужно что-то вроде docker build --tag ci:customized

Преимущество такого способа заключается в том, что теперь у вас есть текстовый файл, документирующий, как настроить изображение так,когда вам понадобится изменить его позже, вы не забудете, какие шаги были выполнены ранее.

...