首页 > 解决方案 > 安装路径时 Docker 容器运行立即退出

问题描述

我在 Windows 10 上运行 docker。当我在没有-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在启动后几乎立即退出。

尝试使用命令执行到容器中时docker exec -it bboard-ubuntu /bin/bash,我收到如下错误消息:

来自守护程序的错误响应:容器 26a2d3361dfc0c890xxxxxxxxxxxxxxx97be532ab6e8771652e5b 未运行

当我删除挂载标志并像下面这样运行它时,没有问题,我可以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 . .

这是删除分离后的错误

npm 错误!代码 ENOENT npm 错误!系统调用打开 npm 错误!路径 /usr/src/app/package.json npm 错误!errno -2 npm 错误!enoent ENOENT:没有这样的文件或目录,打开'/usr/src/app/package.json' npm ERR!enoent 这与 npm 找不到文件有关。npm 错误!恩恩

npm 错误!可以在以下位置找到此运行的完整日志:npm ERR!
/root/.npm/_logs/2020-02-26T19_02_33_143Z-debug.log

我在 Windows 主机上运行这些命令。在哪里可以找到/root/.npm/日志文件夹?

标签: dockerdocker-for-windows

解决方案


推荐阅读