2016-11-04 4 views
-1

Я хочу создать пустой контейнер докеров и развернуть что-то (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"] 

Мой вопрос- Мой dockefile является deloying Дженкинс автоматически, не является определенным пользователем. Пожалуйста, предложите лучший подход, чтобы сделать это, кроме Dokcerfile

+0

Ваш вопрос сбивает с толку. Вы хотите запустить Chef внутри контейнера для установки и настройки Jenkins? Или вы хотите использовать шеф-повар, чтобы запустить контейнер докеров, содержащий Дженкинса? –

+0

@ MarkO'Connor Я хочу использовать Chef/Shell/PS для запуска контейнера Dokcer, содержащего Jenkins/Sonar (согласно конкретному пользователю) –

ответ

1

Самый простой способ, по-моему, использовать докер-сочинение и использование официального изображения Дженкинса. Здесь у вас есть шаблон 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'