Docker контейнер запускается сразу при монтаже пути - PullRequest
1 голос
/ 25 февраля 2020

Я запускаю docker на windows 10. Когда я запускаю эту команду без флага -v, чтобы смонтировать диск хоста и путь к файлу к пути контейнера, тогда контейнер работает нормально, и я могу подключиться к нему , Тем не менее, когда я предоставляю флаг для монтирования путей, контейнер сразу выходит. Это моя команда, которая выполняется без ошибок

docker container run -v c:/container-fs:/usr/src/app --publish 8001:8080 --detach --name bboard-ubuntu bulletinboard:Ubuntu

, когда я запускаю команду docker container ls --all, я вижу, что контейнер с именем bboard-ubuntu вышел почти сразу после его запуска.

При попытке выполнить exe c в контейнер с помощью команды docker exec -it bboard-ubuntu /bin/bash я получаю сообщение об ошибке, как показано ниже:

Ответ об ошибке от демона: Контейнер 26a2d3361dfc0c890xxxxxxxxxxxxxx97be532ab6e8771652e5b не работает

Когда я удаляю флаги монтирования и запускаю его, как показано ниже, проблем нет, и я могу exec войти в файловую систему контейнера.

docker container run --publish 8001:8080 --detach --name bboard-ubuntu bulletinboard:Ubuntu

Как мне отследить и исправить эту проблему, указав флаг монтирования?

Редактировать Это Dockerfile

FROM ubuntu:18.04

WORKDIR /usr/src/app
COPY package.json .

# replace shell with bash so we can source files
RUN rm /bin/sh && ln -s /bin/bash /bin/sh

RUN apt-get update \
    && apt-get install -y curl \
    && apt-get -y autoclean
RUN apt-get install -y apt-utils
RUN apt-get -y install nano

# nvm environment variables
ENV NVM_DIR /usr/local/nvm
ENV NODE_VERSION 13.9.0

# install nvm
# https://github.com/creationix/nvm#install-script
RUN curl --silent -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.2/install.sh | bash

# install node and npm
RUN source $NVM_DIR/nvm.sh \
    && nvm install $NODE_VERSION \
    && nvm alias default $NODE_VERSION \
    && nvm use default

# add node and npm to path so the commands are available
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH

# confirm installation
RUN node -v
RUN npm -v

RUN npm install

EXPOSE 8080
CMD [ "npm", "start" ]

COPY . .

Вот ошибка после удаления detach

npm ОШИБКА! код ENOENT npm ОШИБКА! системный вызов открыт npm ОШИБКА! путь /usr/src/app/package.json npm ОШИБКА! errno -2 npm ERR! enoent ENOENT: нет такого файла или каталога, откройте '/usr/src/app/package.json' npm ERR! enoent Это связано с тем, что npm не может найти файл. npm ОШИБКА! enoent

npm ОШИБКА! Полный журнал этого прогона можно найти в: npm ERR!
/root/.npm/_logs/2020-02-26T19_02_33_143Z-debug.log

Я выполняю эти команды на windows хосте. Где найти папку журнала /root/.npm/?

...