2016-11-04 39 views
-1

我想創建空的碼頭容器並使用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" 

多克爾數據文件

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"] 

我question- 我dockefile自動deloying詹金斯這是不特定的用戶。 請建議最好的方法來做到這一點,除了Dokcerfile

+0

你的問題是混亂的。你想在容器中運行Chef來安裝和配置Jenkins嗎?或者你想使用廚師推出一個包含詹金斯的碼頭集裝箱? –

+0

@ MarkO'Connor我想用Chef/Shell/PS來啓動包含Jenkins/Sonar的Dokcer容器(根據用戶的具體情況) –

回答

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' 
相關問題