Я пытаюсь создать простое приложение с Дженкинсом в док-контейнере.У меня есть следующий Dockerfile:
FROM ubuntu:trusty
# Install dependencies for Flask app.
RUN sudo apt-get update
RUN sudo apt-get install -y vim
RUN sudo apt-get install -y curl
RUN sudo apt-get install -y python3-pip
RUN pip3 install flask
# Install dependencies for Jenkins (Java).
# Install Java 1.8.
RUN sudo apt-get install -y python-software-properties debconf-utils
RUN sudo apt-get install -y software-properties-common
RUN sudo add-apt-repository -y ppa:webupd8team/java
RUN sudo apt-get update
RUN echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | sudo debconf-set-selections
RUN sudo apt-get install -y oracle-java8-installer
# Install, start Jenkins.
RUN sudo apt-get install -y wget
RUN wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | apt-key add -
RUN echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list
RUN sudo apt-get update
RUN sudo apt-get install -y jenkins
RUN sudo /etc/init.d/jenkins start
COPY ./app /app
CMD ["python3","/app/main.py"]
Я запускаю этот контейнер со следующим:
docker build -t jenkins_test .
docker run --name jenkins_test_container -tid -p 5000:5000 -p 8080:8080 jenkins_test:latest
Я могу запустить флешку и установить Jenkins, однако при запуске Jenkins не работаетБег.curl localhost:8080
не удалось.
В выводе журнала я вижу:
Correct java version found
* Starting Jenkins Automation Server jenkins [ OK ]
Однако он все еще не работает.
Я могу в ssh войтиконтейнер и вручную запустите sudo /etc/init.d/jenkins start
, чтобы запустить его, но я хочу, чтобы он запускался на docker run
или docker build
.
Я также попытался поместить sudo /etc/init.d/jenkins start
в часть CMD
Dockerfile:
CMD python3 /app/main.py; sudo /etc/init.d/jenkins start
С этим я могу свернуть Flask, но все еще не Дженкинс.
Как заставить Дженкинс запускаться автоматически?