Docker无法启动容器

Docker无法启动容器,docker,exit,Docker,Exit,直到昨天我才有docker-V17,今天我有docker-V18,当我运行docker时,容器不会启动,但它处于退出状态 以下是我使用的命令: docker system prune -a docker build . docker run --name myjenkins -u root -d -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker

直到昨天我才有docker-V17,今天我有docker-V18,当我运行docker时,容器不会启动,但它处于退出状态

以下是我使用的命令:

docker system prune -a
docker build .
docker run --name myjenkins -u root -d -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock --net=host <imageName>
docker ps -a 
docker start myjenkins
Docker文件

FROM jenkins/jenkins:lts
ENV JENKINS_SLAVE_AGENT_PORT '50000'
USER $USER
WORKDIR /var/jenkins_home/workspace/pipelineDemo@script
ARG NODE_ENV
ENV NODE_ENV=$NODE_ENV
RUN apt-get update
RUN curl -sL https://deb.nodesource.com/setup_9.x | bash -
RUN apt-get install -y nodejs
RUN apt-get update
RUN apt-get install -y npm
RUN npm install -g npm
RUN apt-get install python3
RUN apt-get install --reinstall make
RUN npm install --global gulp-cli
RUN npm install --global gulp
RUN apt-get -y install g++

RUN apt-get update
RUN apt-get install
RUN apt-get -y install apt-transport-https \
    ca-certificates \
     curl \
     gnupg2 \
     software-properties-common
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
RUN apt-key fingerprint 0EBFCD88
RUN add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"
RUN apt-get update
RUN apt-get install -y docker-ce

RUN curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
RUN chmod +x /usr/local/bin/docker-compose

COPY Jenkinsfile /var/jenkins_home/workspace/pipelineDemo@script

RUN usermod -aG docker jenkins

USER jenkins

注意:当我删除dockerfile底部的CMD时:“npm start”。我可以启动容器非活动状态

我怀疑这是权限问题。在运行上面的docker命令之前,尝试在当前目录中创建
jenkins\u home
目录。

就像建议的那样,卷已损坏,因此解决方案很简单:

docker volume rm jenkins-data

再次运行容器之前。

当我删除dockerfile底部的CMD时:“npm start”。我可以在活动状态下启动容器

有日志吗?有错误消息吗?@papey这是docker日志myjenkins显示在我的问题中如果你不提供myjenkin的docker文件,我们就帮不了你,对吗?你试过删除jenkins数据卷并重新创建它吗?我的dockerfile是附加的@emixIt看起来很糟糕。他以root身份运行容器,所以没有。当我运行docker run命令时:docker run--name myjenkins-u root-d-p 8080:8080-p 50000:50000-vjenkins data:/var/jenkins\u home-v/var/run/docker.sock:/var/run/docker.sock--net=host这不是在var位置创建jenkins\u home。因此我没有jenkins\u home如何获取它?只需通过本地用户的访问手动创建它。不是
root
user。是的,我的詹金斯数据被破坏了。我必须再创造一次。谢谢你的帮助
docker volume rm jenkins-data