我想创建空的docker容器,并使用chef或ruby或任何其他脚本语言将一些东西(Jenkins / Sonar)部署到其中。
Dockerfile -
FROM jenkinsci/jenkins:2.0-beta-1
USER root
RUN mkdir /var/log/jenkins
RUN mkdir /var/cache/jenkins
RUN chown -R jenkins:jenkins /var/log/jenkins
RUN chown -R jenkins:jenkins /var/cache/jenkins
USER jenkins
ENV JAVA_OPTS="-Xmx8192m"
Docker数据文件
FROM centos:7
# Create the jenkins user
RUN useradd -d "/var/jenkins_home" -u 1000 -m -s /bin/bash jenkins
# Create the folders and volume mount points
RUN mkdir -p /var/log/jenkins
RUN chown -R jenkins:jenkins /var/log/jenkins
VOLUME ["/var/log/jenkins", "/var/jenkins_home"]
USER jenkins
CMD ["echo", "Data container for Jenkins"]
我的质询 - 我的dockefile自动处理Jenkins,这不是用户特定的。 除了Dokcerfile之外,请建议最好的方法来做到这一点
答案 0 :(得分:1)
我认为最简单的方法是使用docker-compose并使用官方的Jenkins图像。
这里有一个docker-compose.yml
文件模板,可以为您提供一个很好的切入点:
jenkins:
image: 'library/jenkins:latest'
restart: always
environment:
JENKINS_OPTS: ""
JAVA_OPTS: ""
ports:
- '127.0.0.1:8080:8080'
volumes:
- '/var/jenkins_home:/var/jenkins_home'