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

创建空的docker容器并在其中部署一些内容,docker,chef-infra,docker-compose,dockerfile,docker-registry,Docker,Chef Infra,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

我想创建一个空的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"]
我的问题- 我的文件是deloying Jenkins自动生成的,这不是特定于用户的。
请建议除DokCarfile之外的最佳方法。我认为最简单的方法是使用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'

你的问题令人困惑。是否要在容器中运行Chef来安装和配置Jenkins?或者您想使用Chef启动包含Jenkins的docker容器?@MarkO'Connor我想使用Chef/Shell/PS启动包含Jenkins/Sonar的Dokcer容器(根据用户特定)