无法从jenkins启动容器
在jenkins,我安装了Docker构build步骤插件。
在jenkins创build了作业,并在其中执行了docker命令select了构build映像。 该图像是使用Dockerfile创build的。Dockerfile是:
FROM ubuntu:latest #OS Update RUN apt-get update RUN apt-get -y install git git-core unzip python-pip make wget build-essential python-dev libpcre3 libpcre3-dev libssl-dev vim nano net-tools iputils-ping supervisor curl supervisor WORKDIR /home/wipro #Mongo Setup RUN curl -O http://downloads.mongodb.org/linux/mongodb-linux-x86_64-3.0.2.tgz && tar -xzvf mongodb-linux-x86_64-3.0.2.tgz && cd mongodb-linux-x86_64-3.0.2/bin && cp * /usr/bin/ #RUN mongod --dbpath /home/azureuser/CI_service/data/ --logpath /home/azureuser/CI_service/log.txt --logappend --noprealloc --smallfiles --port 27017 --fork #Node Setup #RUN curl -O https://nodejs.org/dist/v0.12.7/node-v0.12.7.tar.gz && tar -xzvf node-v0.12.7.tar.gz && cd node-v0.12.7 #RUN cd /opt/node-v0.12.7 && ./configure && make && make install #RUN cp /usr/local/bin/node /usr/bin/ && cp /usr/local/bin/npm /usr/bin/ RUN wget https://nodejs.org/dist/v0.12.7/node-v0.12.7-linux-x64.tar.gz RUN cd /usr/local && sudo tar --strip-components 1 -xzf /home/wipro/node-v0.12.7-linux-x64.tar.gz RUN npm install forever -g #CI SERVICE ADD prod /home// ADD servicestart.sh /home/ RUN chmod +x /home/servicestart.sh COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf CMD ["sh", "/home/servicestart.sh"] EXPOSE 80 EXPOSE 27017
然后我尝试创build容器并创build容器。
当我尝试启动容器时,容器未运行。
当我用命令检查时:
docker ps -a
它只显示created
状态。
它不在运行或Exited
状态。
docker ps -a
的输出是:
docker工人ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8ac762c4dc84 d85c2d90be53 "sh /home/servi" 15 hours ago Created hungry_liskov 7d8864940515 d85c2d90be53 "sh /home/servi" 16 hours ago Created ciservice
如何使用jenkins启动容器?
这取决于你的容器主要命令( ENTRPOINT
+ CMD
)
创build状态(对于非数据卷容器)意味着主命令未能执行。
尝试docker logs <container_id>
以查看是否有任何logging的错误消息。
CMD ["sh", "/home/servicestart.sh"]
应该是:
CMD ["/home/servicestart.sh"]
(Ubuntu的默认ENTRYPOINT
应该是["sh", "-c"]
,所以不需要重复"sh"
)