创建空的docker容器并在其中部署一些东西

时间:2016-11-04 05:39:35

标签: docker chef docker-compose dockerfile docker-registry

我想创建空的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之外,请建议最好的方法来做到这一点

1 个答案:

答案 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'