Запустите докер с псевдонимом и доступом к bash. - PullRequest
0 голосов
/ 22 июня 2019

Я пытаюсь запустить снимок докера и подключиться к нему через bash, но также псевдоним его порта, чтобы я мог получить к нему доступ из локальной системы по адресу localhost: 3333, вот что у меня есть:

docker run -d -p 3333:3000 -t -i mysnapshot /bin/bash

Однако, хотя он и запускает образ контейнера, он не подключается к нему через bash

Это вывод, который он генерирует:

3c86ca433d645c6c11315e89bbeaf89f072e2d1fa83213d4c4256c4a1af98322 * 101 ** и это dockerfile, используемый для построения образа:

ОТ узла: 10

Настройка рабочего каталога.Весь путь будет относиться к WORKDIR WORKDIR / usr / src / app

Установка зависимостей COPY пакета * .json ./ RUN npm install

Копирование исходных файлов COPY..

Сборка приложения

RUN npm run build

Запуск приложения CMD ["npm", "start"]

Ответы [ 2 ]

2 голосов
/ 22 июня 2019

Вы использовали параметр -d в команде docker run, которая будет запускать контейнер в режиме detached в фоновом режиме.

Пожалуйста, отметьте this out.

Для запуска bash

docker exec -it <conatiner-id> /bin/bash

, где <container-id> может быть получено из docker ps вывода.

Также согласно вашему dockerfile вы хотите, чтобы npm start былопервый процесс в контейнере, поэтому при выполнении команды docker run не указывайте /bin/bash, поскольку она переопределит CMD npm start, упомянутый в файле docker.

Надеюсь, это поможет, дайте мне знать.

0 голосов
/ 22 июня 2019

Возможно, вам потребуется перезаписать вашу точку входа, потому что в последней строке вашего dockerfile упоминается, что ваша команда запуска - npm start.

Кроме того, -d отдельный режим не требуется.

Попробуйте это:

docker run -it -p 3333:3000 --entrypoint=/bin/bash mysnapshot 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...