Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Docker: Zkušenosti z produkce

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

Docker: Zkušenosti z produkce

Krátká přednáška z Aimtechhackathonu o našich zkušenostech s provozováním Dockeru na produkci.

Avatar for Ondřej Ešler

Ondřej Ešler

March 10, 2018

More Decks by Ondřej Ešler

Other Decks in Programming

Transcript

  1. Agenda • Stručný úvod do Dockeru • Proč nasadit Docker?

    • Vlastní Docker Images • Docker na produkci • Problémy s Dockerem
  2. Stavební kameny Dockeru • Docker Image • Docker Container •

    Docker Volume • docker • docker-compose
  3. Docker Image FROM ubuntu:14.04 MAINTAINER Sytse Sijbrandij # Install required

    packages RUN apt-get update -q \ && DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends \ ca-certificates \ openssh-server \ wget \ apt-transport-https \ vim \ nano # Download & Install GitLab # If you run GitLab Enterprise Edition point it to a location where you have downloaded it. RUN echo "deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/gitlab_gitlab-ce.list RUN wget -q -O - https://packages.gitlab.com/gpg.key | apt-key add - RUN apt-get update && apt-get install -yq --no-install-recommends gitlab-ce # Manage SSHD through runit RUN mkdir -p /opt/gitlab/sv/sshd/supervise \ && mkfifo /opt/gitlab/sv/sshd/supervise/ok \ && printf "#!/bin/sh\nexec 2>&1\numask 077\nexec /usr/sbin/sshd -D" > /opt/gitlab/sv/sshd/run \ && chmod a+x /opt/gitlab/sv/sshd/run \ && ln -s /opt/gitlab/sv/sshd /opt/gitlab/service \ && mkdir -p /var/run/sshd zdroj: https://hub.docker.com/r/gitlab/gitlab-ce/~/dockerfile/
  4. Proč nasadit Docker? Vývoj • distribuce vývojového stacku • více

    verzí zároveň • jednoduchá instalace • Linux na Windows/Mac • Continuous integration
  5. Proč nasadit Docker? Produkce • izolace • snadný update (bezpečnost)

    • přenositelnost • škálovatelnost • sjednocení s vývojovým stackem • dev vs. ops
  6. Vlastní Docker Image Oficiální • okamžitému použití ◦ docker run

    -p 80:80 nginx:latest • pravidelně aktualizovaný ◦ například pro php:latest je průměrné zpoždění 1,5 dne • vyřešené konfigurace ◦ docker run -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest
  7. Vlastní Docker Image Kombinace • 3rd party služby pomocí oficiálních

    • vlastní aplikace přes vlastní image • Docker HUB ◦ docker run registry:2
  8. Docker na produkci • docker run • docker-compose up •

    docker swarm • Kubernes • Docker as a Service
  9. Problémy s Dockerem • jádro ◦ RHEL 7 ◦ https://bugzilla.redhat.com/show_bug.cgi?id=1441737

    • Docker for Windows/Mac ◦ cached/delegated ◦ http://docker-sync.io/