Slide 1

Slide 1 text

Configuration Management and Docker

Slide 2

Slide 2 text

Chef 4 years Docker 6 months Aaron Blythe

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Work from Home

Slide 5

Slide 5 text

Install Package Trinity of Config Management Manage Service Config Files

Slide 6

Slide 6 text

Trinity

Slide 7

Slide 7 text

Trinity

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Install Package Trinity of Config Management Manage Service Config Files

Slide 10

Slide 10 text

package ‘httpd' do action :install end Trinity of Config Management (Chef) service "httpd" do action :start end template 'httpd.conf' do action :create source 'httpd.conf.erb' owner 'root' group ‘root’ mode '0644' notifies :reload, 'service[httpd]', :delayed end

Slide 11

Slide 11 text

package ‘httpd' do action :install end template 'httpd.conf' do action :create source 'httpd.conf.erb' owner 'root' group ‘root’ mode '0644' notifies :reload, 'service[httpd]', :delayed end service "httpd" do action :start end Chef Recipe

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

Install Package Trinity of Config Management Manage Service Config Files

Slide 14

Slide 14 text

RUN yum -y update && yum clean all RUN yum -y install httpd && yum clean all Trinity of Config Management (Docker) CMD ["/run-httpd.sh"] RUN sed -i 's@#Include conf/extra/httpd-ssl.conf@Include conf/extra/httpd-ssl.conf@' /usr/local/apac RUN sed -i 's@#LoadModule ssl_module modules/mod_ssl.so@LoadModule ssl_module modules/mo RUN sed -i 's@#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so@LoadMod Shell out

Slide 15

Slide 15 text

RUN yum -y update && yum clean all RUN yum -y install httpd && yum clean all Trinity of Config Management (Docker) CMD ["/run-httpd.sh"] COPY ./httpd.conf /etc/httpd/conf/httpd.conf

Slide 16

Slide 16 text

RUN yum -y update && yum clean all RUN yum -y install httpd && yum clean all Trinity of Config Management (Docker) CMD ["/run-httpd.sh"] VOLUME [“/etc/httpd/conf/httpd.conf“]

Slide 17

Slide 17 text

RUN yum -y update && yum clean all RUN yum -y install httpd && yum clean all VOLUME [“/etc/httpd/conf/httpd.conf“] CMD ["/run-httpd.sh"] Dockerfile

Slide 18

Slide 18 text

What I like about Docker • Speed (after the initial download) • Sharing of resources • “Don’t think of Container as Mini-VM” Chase

Slide 19

Slide 19 text

Concerns • File system size https://imagelayers.io/

Slide 20

Slide 20 text

Concerns • Is the volume mounting to manage configs tenable? • Cutting myself off from Chef community cookbooks. • When/How should I shoot for immutable server? • How should I be re-writing my apps for: • Service discovery? • Hiding but still using secrets?

Slide 21

Slide 21 text

Demo • https://hub.docker.com/ • https://github.com/hearstat • https://github.com/chef-cookbooks/docker