我正在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 ERR!代码ENOENT npm ERR! syscall打开npm ERR!路径 /usr/src/app/package.json npm错误! errno -2 npm错误! enoent ENOENT:否 这样的文件或目录,打开'/usr/src/app/package.json'npm ERR! enoent这与npm无法找到文件有关。 npm ERR! 先天
npm ERR!此运行的完整日志可以在以下位置找到:npm ERR!
/root/.npm/_logs/2020-02-26T19_02_33_143Z-debug.log
我正在Windows主机上运行这些命令。我在哪里找到/root/.npm/
日志文件夹?