dockerでらくらく開発・運用を体感しよう

27
Dockerで らくらく開発・運を 体感しよう 第6回 よこはまクラウド勉強会 March 21, 2015 @makinog3

Upload: takashi-makino

Post on 17-Jul-2015

245 views

Category:

Software


9 download

TRANSCRIPT

  • Docker

    6 March 21, 2015@makinog3

  • Docker

  • VMware

  • OS

    VMware

  • OS

    Docker

    OOSS

  • VVSS

  • OSLinux

  • Docker

    Linux Namespaces

    Linux cgroups

    AUFSDevice Mapper Thin Provisioning

    Linux iptables

  • Docker

    Docker

    Docker

    /

  • Amazon EC2 Docker

    Docker Hub Registry

  • Docker

    Amazon LinuxEC2 ssh Amazon Linux ec2-user

    Docker$ sudo yum install y docker

  • Docker(1)

    pull REPOSITORY Docker Hub Registry

    images

    ps

    run IMAGE

    start CONTAINER

    stop CONTAINER

    top CONTAINER

  • $ sudo docker pull learn/tutorial

    $ sudo docker run learn/tutorial echo Hello, Docker!

    $ sudo docker run it learn/tutorial /bin/bash

  • ping$ sudo docker run learn/tutorial apt-get install y ping

    $ sudo docker ps a

    $ sudo docker commit CONTAINER makinog3/ping

    $ sudo docker run makinog3/ping ping www.google.com

  • Docker(2)

    commit CONTAINER REPOSITORY

    save IMAGE > TAR

    load < TAR

    export CONTAINER > TAR

    import URL REPOSITORY

  • $ sudo docker export CONTAINER > /tmp/docker_learn_ping.tar

    $ cat /tmp/docker_learn_ping.tar | sudo docker import learn/ping2

  • Docker

    Web Dockerle

    Elastic BeansTalkPaaS

  • Web

    Nginx$ sudo docker pull ubuntu$ sudo docker run ubuntu apt-get install y nginx$ sudo docker commit CONTAINER nginx1

    Nginx$ sudo docker run -d -p 80:80 nginx1 /usr/sbin/nginx -g 'daemon o;'

    AWS 80

    8080

  • Docker(3)

    build -t REPOSITORY DIRECTORY

    Dockerfile

  • Dockerle

    Git/Subversion

  • Dockerle

    FROM IMAGE

    MAINTAINER MAINTAINER

    RUN COMMAND

    ADD FILE DIRECTORY

    CMD

    ENTRYPOINT

    WORKDIR

    ENV

    USER

    EXPOSE

    VOLUME

  • Dockerle

    FROM ubuntu

    MAINTAINER makino

    RUN apt-get install -y nginx

    ADD index.html /usr/share/nginx/html/

    CMD ["/usr/sbin/nginx", "-g", "daemon o;"]

  • Docerle$ vi Dockerle$ vi index.html

    $ sudo docker build -t nginx2 .$ sudo docker images

    $ sudo docker run -d -p 80:80 nginx2 /usr/sbin/nginx

  • $ sudo mkdir /var/log/docker_nginx2$ sudo docker run -d -p 80:80 -v /var/log/docker_nginx:/var/log/nginx nginx2

  • Elastic BeansTalk

    Amazon Web ServicePaaS ELB

    DockerDockerle

  • Elastic BeansTalk

    AWSElastic BeansTalk

    Dockerle

  • Docker Amazon EC2Docker Elastic BeansTalk

    push AWS Google Compute EngineAzule Amazon EC2 Container Service