установить пакеты узлов без перезапуска docker compose - PullRequest
0 голосов
/ 10 января 2019

Есть ли способ установить пакеты узлов в работающей среде докера без перезапуска? Я запустил несколько контейнеров через docker-compose, и мне нужно использовать npm i <packagename> во время работы контейнеров.

Пока что я не нашел последовательного ответа в Google.

Ответы [ 3 ]

0 голосов
/ 10 января 2019
docker exec -it [container-id] /bin/bash

cd в рабочее пространство и npm install packagename. Нужно установить нужный пакет, а также добавить его в package.json

0 голосов
/ 10 января 2019

Используйте docker exec + npm install <package-name>. https://docs.docker.com/engine/reference/commandline/exec/

0 голосов
/ 10 января 2019

Вы можете запустить любую команду в активном контейнере, используя docker exec. В вашем случае это будет:

// Replace <your-container-id> and <your-package-name>
docker exec -it <your-container-id> "npm install <your-package-name>"

или , если вы хотите использовать имя контейнера вместо идентификатор контейнера , который вы можете использовать:

// Replace <your-container-id> and <your-package-name>
docker exec -it $(docker ps | grep <your-container-name> | awk '{ print $1 }') "npm install <your-package-name>"

Здесь у вас есть дополнительная информация о команде docker exec docker exec . (Докер Документы)

...