Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Wprowadzenie do technologii Docker

80 views

Published on

Presentation prepared by Krzysztof Suszyński.
http://stacja.it

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Wprowadzenie do technologii Docker

  1. 1. DOCKER/TUT WPROWADZENIE DO TECHNOLOGII by Krzysztof Suszyński | @ksuszynski
  2. 2. HEJ! Krzysztof Suszyński Ewangelizuje z Puppet i Java Główny Programista w COI / właściciel Wave Software Od 2014r. współpraca z
  3. 3. Z DevOps pierwszy raz w 2010 roku Duże wdrożenia z DevOps/Puppet/Docker Prezentacje na User Groups Wiele OS modułów: JBoss, Glass sh, XtreemFS, Artifactory, Flayway, Herald
  4. 4. PROGRAM 1. DevOps - co to jest i dlaczego może się nam przydać 2. Wprowadzenie do kontenerów systemu 3. Zalety kontenerów oraz Docker 4. Różnice między kontenerami LXC i Docker 5. Docker CLI 6. Praca interaktywna z kontenerem oraz zapisywanie stanu
  5. 5. PROGRAM (C.D.) 7. Budowanie obrazów z plików Docker le 8. Łączenie kontenerów 9. Zarządzanie wieloma połączonymi kontenerami przy użyciu Docker Compose
  6. 6. PRZEDSTAWMY SIĘ Poznajmy się Co jest moim celem na tym szkoleniu? Na czym mi zależy?
  7. 7. PROBLEMY IT POMIĘDZY ROZWOJEM APLIKACJI A UTRZYMANIEM
  8. 8. ZMIANA ZMIANA TO JEDYNA PEWNA RZECZ W KAŻDEJ FIRMIE POWINNA BYĆ WYKORZYSTANA I SPRAWNIE WPROWADZONA
  9. 9. ZMIANA NIE POWINNA PROWADZIĆ DO STRACHU W ŻADNYM Z DZIAŁÓW W FIRMIE NIE POWINNA OZNACZAĆ ZWIĘKSZONEGO STRESU NIE POWINNA OZNACZAĆ KONIECZNOŚCI „GASZENIA POŻARÓW“
  10. 10. DALSZE WYZWANIA Słaba komunikacja = kon ikty i niska efektywność „Programiści nie wdrażają spójnego software'u“ „Administratorzy mają tendencję do opierania się zmianom“ Proces wytwarzania jest najczęściej zwinny Proces utrzymania jest najczęściej statyczny Coraz potężniejsze, rozproszone rozwiązania
  11. 11. DEVS VS OPS   Developerzy Administratorzy Zainteresowanie Szybkie zmiany Stabilność środowiska Skala Cytaty „It works on my machine“ „It's not server, it's your code“
  12. 12. ROZWIĄZANIE? DEVOPS
  13. 13. DEFINICJA „DevOps to praktyka codziennej współpracy i współtworzenia zespołów administracyjnych z zespołami programistów”
  14. 14. ZAŁOŻENIA DEVOPS DevOps stosujemy w trakcie trwania całego cyklu życia danej usługi lub dłużej Od momentu jej projektowania, przez wykonanie, wdrożenie i utrzymanie Poprzez stosowanie wspólnych narzędzi i praktyk Automatyzację pracy i mikro wdrożenia
  15. 15. DEVOPS W PUNKTACH 1. Infrastucture as a Code 2. Continuous build 3. Continuous testing 4. Continuous inspection 5. Continuous integration 6. Continuous delivery 7. Continuous con guration enforcement 8. Continuous deployment 9. Continuous monitoring 10. Continuous recovery 11. Continuous scaling
  16. 16. ZADANIE 1 Dla każdego z podpunktu wymienić kilka narzędzi bądź rozwiązań Proszę użyć internetu i własnych doświadczeń :-)
  17. 17. KILKA UWAG! CZYM DEVOPS NIE JEST?!
  18. 18. TO NIE JEST NO-OPS „oni zabiorą nam nasze posady“ współdzielenie odpowiedzialności a nie pozbycia się jej współpraca a nie odebranie jej uwolnienie ukrytych mocy
  19. 19. NIE CHODZI (TYLKO) O NARZĘDZIA przekonanie, że w DevOps chodzi głownie o zastosowanie nowych narzędzi w pracy, takich jak Puppet, Ansible czy Docker praktyka wspólnej, codziennej pracy wytworzenie kultury i nawyków spójnych z Agile wytworzenie procesów minimalizujących możliwość pomyłki
  20. 20. NIE CHODZI (TYLKO) O KULTURĘ Przekonanie, że wystarczy jedynie zacząć współpracować na co dzień potrzebne są narzędzia spełniające wymagania obu stron narzędzia te muszą wspierać nawyki wspólnej pracy obie strony muszą czerpać korzyści
  21. 21. NIE CHODZI (TYLKO) O POŁĄCZENIE DEV I OPS obejmuje również: administratorach sieci specjalistów bezpieczeństwa architektów systemów testerów analityków
  22. 22. management NIE CHODZI (TYLKO) O TYTUŁ POSADY bez faktycznej zmiany sposobu pracy nie będzie dużych sukcesów zmiana musi być po obu stronach zmienia się często układ rmy
  23. 23. NIE CHODZI O WSZYSTKO, WSZĘDZIE po złym wprowadzeniu, upraszcza się DevOps do rozwodnionego Agile lub „miłości“ do wszystkich codzienne współtworzenie rozwiązań używac wspólnych narzędzi i procesów
  24. 24. PROCES DEVOPS Krótkie szybkie iteracje
  25. 25. ZAKRES DEVOPS DevOps Technology Operations Q uality Assurance (Q A) D evelopm ent (Softw are Engineering)
  26. 26. ZMIANA W CAŁEJ FIRMIE Dev Ops Dev Ops Legenda: czerwony -- zielony - ilość osób z danymi umiejętnościami
  27. 27. ZADANIE 2 DYSKUSJA Co myślisz o DevOps? Czy potra sz wskazać podobne problemy w swojej organizacji? Czy DevOps różni się znacznie od innych podejść? Na co należy uważać przy DevOps?
  28. 28. SYSTEMY KONTENERÓW OS
  29. 29. KONTENERY LINUX Zostały wprowadzone pierwszy raz w 2008 roku Uruchamianie pojedynczego procesu w izolowanej na poziomie systemu plików i sieci "wirtualizacji" Używają znacznie mniej zasobów oraz przestrzeni dyskowej od standardowej wirtualizacji
  30. 30. UWAGA NA KONTENERY Działają na tym samym jądrze systemu i wersji co host Nie mają pełnej kon guracji sieciowej Ograniczone możliwości ustawień systemowych
  31. 31. LXC LXC czyli Linux Containers to domyślna implementacja kontenerów w Linuksie. Pozwala na bardziej zaawansowaną obsługę, na przykład ustawianie niektórych sysctli i limitów. Jest to często niezbędne w przypadku bardziej zaawansowanych systemów.
  32. 32. DOCKER
  33. 33. DOCKER Docker jest najbardziej znanym systemem kontenerów. Posiada szereg zalet ponad LXC: Wygoda używania i prostota uzyskania efektu Możliwość wygodnego "commit’owania obrazów" Możliwość wygodnego współdzielenia obrazów Możliwość dostarczenia tego samego obrazu na środowisko produkcyjne Zapis przepisu na obraz w postaci prostego pliku Docker le Duża ilość bazowych obrazów i gotowych przepisów
  34. 34. DOCKER SPRZĘTOWE SPOJRZENIE
  35. 35. DOCKER VS LXC
  36. 36. DOCKER AUFS
  37. 37. INSTALACJA DOCKERA e c h o ' d e b h t t p s : / / a p t . d o c k e r p r o j e c t . o r g / r e p o u b u n t u - t r u s t y m a i n ' | s u d o t e e / e t c / a p t / s o u r c e s . l i s t . d / d o c k e r . l i s t s u d o a p t - g e t u p d a t e s u d o a p t - g e t i n s t a l l d o c k e r - e n g i n e # A b y d o d a c m o z l i w o s c o p e r o w a n i a d o c k e r e m b e z s u d o s u d o u s e r m o d - a G d o c k e r j n o w a k # A b y z a l a d o w a c k o n t e k s t B a s h a w p e l n i e x e c s u d o s u - j n o w a k
  38. 38. INTERAKTYWNE UŻYCIE $ d o c k e r v e r s i o n C l i e n t : V e r s i o n : 1 . 1 1 . 2 A P I v e r s i o n : 1 . 2 3 G o v e r s i o n : g o 1 . 5 . 4 G i t c o m m i t : b 9 f 1 0 c 9 S e r v e r : V e r s i o n : 1 . 1 1 . 2 A P I v e r s i o n : 1 . 2 3 G o v e r s i o n : g o 1 . 5 . 4 G i t c o m m i t : b 9 f 1 0 c 9 $ _
  39. 39. SZUKANIE OBRAZÓW KONTENERÓW I LISTOWANIE $ d o c k e r s e a r c h n a g i o s N A M E D E S C R I P T I O N S T A R S O F F I C I A L A U T O M A T E D c p u g u y 8 3 / n a g i o s F o r t h o s e w o n d e 2 1 [ O K ] $ _
  40. 40. WYŚWIETLENIE DOSTĘPNYCH LOKALNIE OBRAZÓW $ d o c k e r i m a g e s R E P O S I T O R Y T A G I M A G E I D C R E A T E D V I R T U A L S I Z E u b u n t u l a t e s t 2 1 0 3 b 0 0 b 3 f d f 8 d a y s a g o 1 8 8 . 3 M B u b u n t u 1 4 . 0 4 . 2 2 1 0 3 b 0 0 b 3 f d f 8 d a y s a g o 1 8 8 . 3 M B u b u n t u 1 4 . 0 4 2 1 0 3 b 0 0 b 3 f d f 8 d a y s a g o 1 8 8 . 3 M B c e n t o s c e n t o s 7 a e 0 c 2 d 0 b d c 1 0 4 m o n t h s a g o 2 2 4 M B c e n t o s l a t e s t a e 0 c 2 d 0 b d c 1 0 4 m o n t h s a g o 2 2 4 M B $ _
  41. 41. URUCHOMIENIE PROGRAMÓW NIE INTERAKTYWNIE $ d o c k e r r u n c e n t o s c a t / e t c / s y s t e m - r e l e a s e C e n t O S L i n u x r e l e a s e 7 . 0 . 1 4 0 6 ( C o r e ) $ _
  42. 42. URUCHOMIENIE PROGRAMÓW INTERAKTYWNIE $ d o c k e r r u n - i t c e n t o s b a s h [ r o o t @ e 1 3 4 8 4 c 3 6 8 2 e / ] # w h o a m i r o o t [ r o o t @ e 1 3 4 8 4 c 3 6 8 2 e / ] # e x i t e x i t $ _
  43. 43. LISTOWANIE URUCHOMIONYCH KONTENERÓW $ d o c k e r p s C O N T A I N E R I D I M A G E C O M M A N D C R E A T E D S T A T U S P O R T S N A M E S $ d o c k e r p s - a C O N T A I N E R I D I M A G E C O M M A N D C R E A T E D S T A T U S P O R T S N A M E S e 1 3 4 8 4 c 3 6 8 2 e c e n t o s 7 " b a s h " 4 m i n E x i t 0 s a d _ n o b e l 2 5 c e 0 e b c b 5 8 0 c e n t o s 7 " c a t / e t 1 3 m i n E x i t 0 f o c u s e d _ j o n e s 3 4 a 2 c 9 3 5 7 9 2 9 c e n t o s 7 " u n a m e - 1 4 m i n E x i t 0 e v i l _ b a r d e e n e 7 8 a d 7 8 d b d 6 6 c e n t o s 7 " c a t / e t 1 4 m i n E x i t 0 r o m a n t i c _ p t o l e m $ _
  44. 44. ZATWIERDZANIE ZMIAN NA KONTENERZE $ d o c k e r p s - l C O N T A I N E R I D I M A G E C O M M A N D C R E A T E D S T A T U S N A M E S d 2 0 b 4 6 d 9 b 8 5 1 c e n t o s : c e n t o s 7 " y u m i n s t a l l 3 7 s e c o n d E x i t e d t h i r s t y _ f $ d o c k e r c o m m i t d 2 0 b k s u s z y n s k i / r u b y e a a 4 f a 4 f 7 2 3 6 c 7 6 6 e f e b 2 1 c a b 2 d 6 9 8 3 f 4 f 8 f e f 7 8 b 8 8 5 9 8 e 6 b 1 3 0 d 7 6 c 5 e c 4 0 1 f 3 $ d o c k e r r u n - - r m k s u s z y n s k i / r u b y r u b y - e ' p u t s 3 + 6 ' 9 $ _
  45. 45. USUWANIE KONTENERÓW ORAZ OBRAZÓW $ d o c k e r p s - a C O N T A I N E R I D I M A G E C O M M A N D C R E A T E D S T A T U S P O R T S N A M E S 7 8 d b 4 7 2 8 e 9 e 5 k s u s z y " " e c h o 2 9 m i n u s a d _ n o b e l d 2 0 b 4 6 d 9 b 8 5 1 c e n t o s " y u m i n 3 3 m i n u E x i t e d t h i r s t y _ f e r m $ d o c k e r r m t h i r s t y _ f e r m a t t h i r s t y _ f e r m a t $ d o c k e r p s - a C O N T A I N E R I D I M A G E C O M M A N D C R E A T E D S T A T U S P O R T S N A M E S 7 8 d b 4 7 2 8 e 9 e 5 k s u s z y " " e c h o 3 0 m i n u s a d _ n o b e l $ d o c k e r r m i - f k s u s z y n s k i / r u b y U n t a g g e d : k s u s z y n s k i / r u b y : l a t e s t D e l e t e d : e a a 4 f a 4 f 7 2 3 6 c 7 6 6 e f e b 2 1 c a b 2 d 6 9 8 3 f 4 f 8 f e f 7 8 b 8 8 5 9 8 e 6 b 1 3 0 d 7 6 c $ d o c k e r p s - a
  46. 46. DOCKER RM HINT Bardzo przydatne polecenie. Usuwa wszystkie kontenery, nawet uruchomione. docker ps -aq | xargs docker rm -f
  47. 47. SPRAWDZANIE HISTORII OBRAZU $ d o c k e r h i s t o r y n a g i o s I M A G E C R E A T E D C R E A T E D B Y S I Z E 9 1 0 3 b 3 7 h o u r s m k d i r - p / e t c / s v / n a g i o s & & m k d i r - 0 B e 9 4 e b 3 7 h o u r s c p / e t c / s e r v i c e s / v a r / s p o o l / p o s t f i 1 9 . 2 8 k B 8 6 5 f 0 3 7 h o u r s s e d - i ' s , / b i n / m a i l , / u s r / b i n / m a i l , 7 . 7 1 2 k B c 2 9 9 c 3 7 h o u r s d o w n l o a d - m i b s & & e c h o " m i b s + A L L " 1 5 . 8 7 M B 3 5 f c d 3 7 h o u r s e c h o " c f g _ d i r = $ { N A G I O S _ H O M E } / e t c / m 4 4 . 6 4 k B 3 3 2 1 9 3 7 h o u r s e c h o " c f g _ d i r = $ { N A G I O S _ H O M E } / e t c / c 4 4 . 6 1 k B $ _
  48. 48. DOCKER BASICS DEMO
  49. 49. ZADANIE 3 Zainstalować docker Utworzyć obraz bazujący na centosie lub ubuntu Zainstalować na obrazie: ruby Zainstalować puppet-lint przy użyciu gem install Zakomitować obraz jako inazwisko/puppet-lintz tagiem v1
  50. 50. DOCKER RUN Polecenie ma kilka bardzo ważnych parametrów z których bardzo często się korzysta Tutaj opisane są najważniejsze
  51. 51. VOLUME -v, --volume=[]- montuje katalog kontenera do hosta d o c k e r r u n - v / o p t / h o s t d i r : / o p t / c o n t a i n e r d i r s o m e - i m a g e
  52. 52. PORT, PUBLISH -p, --publish=[]- publikuje port kontenera do hosta d o c k e r r u n - p 1 5 4 3 2 : 5 4 3 2 p o s t g r e s
  53. 53. ENV -e, --env=[]- Ustawia zmienną środowiskową dla uruchamianego kontenera d o c k e r r u n - e ' H E R A L D _ P O S T G R E S _ P A S S W O R D = s 3 C r e t ! ' c o i g o v p l / h e r a l d
  54. 54. RM --rm=false- podając true, docker usunie zatrzymany kontener automatycznie przy wyjściu d o c k e r r u n - - r m = t r u e s o m e - i m a g e
  55. 55. USER -u, --user=- zmienia użytkownika do uruchomienia d o c k e r r u n - u d a e m o n s o m e - i m a g e
  56. 56. HOSTNAME -h, --hostname=- zmienia hostname do uruchomienia d o c k e r r u n - h h e r a l d - d b . l o c a l d o m a i n c o i g o v p l / h e r a l d
  57. 57. ZADANIE 4 Przetestować działanie współdzielonych katalogów -- volume Sprawdzić działanie opcji --rm Sprawdzić działanie opcji --publish(kontener musi publikować jakiś port)
  58. 58. DOCKERFILE Można także używać komendy docker build, która buduje obraz z listy instrukcji zawartych w pliku Docker le
  59. 59. FORMAT PLIKU DOCKERFILE # T h i s i s a c o m m e n t F R O M u b u n t u : 1 4 . 0 4 M A I N T A I N E R K r z y s z t o f S u s z y n s k i < k . s @ g m a i l . c o m > R U N a p t - g e t u p d a t e & & a p t - g e t i n s t a l l - y r u b y - d e v R U N g e m i n s t a l l s i n a t r a
  60. 60. FROM F R O M u b u n t u : 1 4 . 0 4 Instrukcja FROMustawia obraz jakiego chcemy użyć jako bazy dla budowanego obrazu. Jest to wymagana instrukcja i musi być to pierwsza instrukcja w pliku Dockerfile
  61. 61. MAINTAINER M A I N T A I N E R K r z y s z t o f S u s z y ń s k i < k r z y s z t o f . s u s z y n s k i @ g m a i l . c o m > Instrukcja MAINTAINERpozwala ustawić pole autora w budowanym obrazie.
  62. 62. RUN R U N a p t - g e t u p d a t e & & a p t - g e t i n s t a l l - y r u b y Instrukcja RUNJest jedną z najczęściej wykorzystywanych instrukcji. Pozwala za wywołanie dowolnego polecenia na kontenerze.
  63. 63. ADD A D D s r c / p u b l i c - k e y . p e m / u s r / s r c / d o c k e r - p u b l i c - k e y . p e m Instrukcja ADDdodaje do tworzonego obrazu plik z dysku. Adres do pliku musi być względny dla pliku Docker le.
  64. 64. CMD C M D / u s r / l o c a l / b i n / p u p p e t - h e r a l d Instrukcja CMDodpowiada za ustawienie domyślnego polecenia lub argumentów polecenia dla obrazu. Taka komenda będzie wykonana przy uruchamianiu obrazu w wypadku jeżeli użytkownik nie zdecyduje inaczej.
  65. 65. USER U S E R w w w - d a t a Instrukcja USERzmienia domyślnego użytkownika obrazu na podanego. Zmienia też użytkownika dla wszystkich instrukcji następujących po niej.
  66. 66. WORKDIR W O R K D I R / v a r / w w w Instrukcja WORKDIRzmienia domyślnego katalog roboczy wewnątrz obrazu na podany.
  67. 67. WYNIK BUDOWY OBRAZU Z PLIKU DOCKERFILE $ d o c k e r b u i l d - t k s u s z y n s k i / s i n a t r a : v 1 . S t e p 0 : F R O M u b u n t u : 1 4 . 0 4 - - - > 2 1 0 3 b 0 0 b 3 f d f S t e p 1 : M A I N T A I N E R K r z y s z t o f S u s z y n s k i < k . s @ g m a i l . c o m > - - - > R u n n i n g i n b 5 d 5 d c 1 3 6 c d 3 - - - > 7 7 c 8 5 2 6 7 4 1 f c R e m o v i n g i n t e r m e d i a t e c o n t a i n e r b 5 d 5 d c 1 3 6 c d 3 S t e p 2 : R U N a p t - g e t u p d a t e & & a p t - g e t i n s t a l l - y r u b y r u b y - d e v - - - > R u n n i n g i n d b 2 1 c 3 5 7 2 9 d 9 R e a d i n g p a c k a g e l i s t s . . . B u i l d i n g d e p e n d e n c y t r e e . . . R e a d i n g s t a t e i n f o r m a t i o n . . . T h e f o l l o w i n g N E W p a c k a g e s w i l l b e i n s t a l l e d :
  68. 68. DOCKERFILE DEMO
  69. 69. ZADANIE 5 Napisać plik Docker le Zainstalować na obrazie: ruby Zainstalować puppet-lint przy użyciu gem Zbudować docker build -t inazwisko/puppet:v2 .
  70. 70. DOCKER HUB
  71. 71. HUB Docker utrzymuje repozytorium obrazów. Jest w nim większość obrazów dostępnych publicznie. Docker domyślnie wyszukuje obrazy w tym repozytorium. Część obrazów jest podpisana kryptogra cznie.
  72. 72. POSZUKIWANIE OBRAZÓW Na co zwrócić uwagę? Biblioteka standardowa - librarynp. obraz javalub jenkins Ilość ściągnięć i gwiazdek Aktualność i automatyczne budowanie
  73. 73. PUBLIKOWANIE OBRAZÓW d o c k e r p u s h k s u s z y n s k i / s i n a t r a docker pushpublikuje domyślnie obraz na Hub Kon gurując automatyczną budowę Hub sam zbuduje obraz po opublikowaniu kodu do GitHub
  74. 74. DEMO DOCKER HUB
  75. 75. ZADANIE 6 Uruchomić przy pomocy Dockera usługę Artifactory Można skorzystać z ogólnie dostępnych obrazów Przeszukać Hub i stronę producenta Artifactory
  76. 76. ŁĄCZENIE KONTENERÓW Pojedyncze procesy, dlatego muszą się łączyć! poprzez sieć poprzez udziały dyskowe
  77. 77. ŁĄCZENIE POPRZEZ SIEĆ 1. Upewnić się że kontener publikujący ma przewidywalną nazwę --name 2. Łączymy do tego kontenera kontener kliencki przy pomocy instrukcji --link 3. --linkprzyjmuje parametr dotyczący nazwy kontenera (opcjonalnie nazwy wewnątrz klienckiego kontenera) 4. Uruchomiony kliencki kontener widzi taką nazwę jako adres DNS i może się do niego łączyć
  78. 78. PRZYKŁAD - ŁĄCZENIE PO SIECI $ d o c k e r r u n - d - - n a m e r e d m i n e - d b p o s t g r e s $ d o c k e r r u n - i t - - l i n k r e d m i n e - d b : p g s q l p o s t g r e s / b i n / b a s h r o o t @ c 4 b 1 2 1 4 3 e b e 8 : / # p s q l - h p g s q l - U p o s t g r e s p s q l ( 9 . 4 . 4 ) T y p e " h e l p " f o r h e l p . p o s t g r e s = #
  79. 79. ŁĄCZENIE POPRZEZ UDZIAŁY DYSKOWE 1. Upewnić się że kontener publikujący ma przewidywalną nazwę --name 2. Łączymy do tego kontenera kontener kliencki przy pomocy instrukcji --volumes-from 3. --volumes-fromprzyjmuje parametr dotyczący nazwy kontenera 4. Uruchomiony kliencki kontener widzi udziały kontenera udostępniającego
  80. 80. PRZYKŁAD - ŁĄCZENIE PO DYSKU $ d o c k e r c r e a t e - v / d b d a t a - - n a m e d b s t o r e p o s t g r e s / b i n / t r u e $ d o c k e r r u n - d - - v o l u m e s - f r o m d b s t o r e - - n a m e d b 1 p o s t g r e s
  81. 81. ZADANIE 7 Uruchomić lokalnie aplikację Redmine Należy połączyć po sieci obrazy redmine i postgres Podłączyć 3 kontener pod udziały dyskowe redmine
  82. 82. DOCKER COMPOSE Docker Compse to narzędzie ułatwiające uruchamianie aplikacji rozproszonych na wiele kontenerów, połączonych ze sobą poprzez sieć lub udziały dyskowe.
  83. 83. COMPOSE - INSTALACJA Docker Compose to prosty skrypt c u r l - L h t t p s : / / g i t h u b . c o m / d o c k e r / c o m p o s e / r e l e a s e s / d o w n l o a d / 1 . 7 . 1 / d o c k e r - c o m p o s e - ` u n a m e - s ` - ` u n a m e - m ` > / u s r / l o c a l / b i n / d o c k e r - c o m p o s e c h m o d + x / u s r / l o c a l / b i n / d o c k e r - c o m p o s e
  84. 84. COMPOSE - KONFIGURACJA Docker Compose kon gurujemy via docker-compose.yml v e r s i o n : ' 2 ' s e r v i c e s : d b : i m a g e : m y s q l : 5 . 7 v o l u m e s : - " . / . d a t a / d b : / v a r / l i b / m y s q l " r e s t a r t : a l w a y s e n v i r o n m e n t : M Y S Q L _ R O O T _ P A S S W O R D : w o r d p r e s s M Y S Q L _ D A T A B A S E : w o r d p r e s s M Y S Q L _ U S E R : w o r d p r e s s M Y S Q L _ P A S S W O R D : w o r d p r e s s w o r d p r e s s :
  85. 85. COMPOSE - URUCHAMIANIE d o c k e r - c o m p o s e u p d o c k e r - c o m p o s e d o w n d o c k e r - c o m p o s e u p - d
  86. 86. ZADANIE 8 Skon gurować aplikację Redmine z zadania 7 przy pomocy Docker Compose Należy połączyć po sieci obrazy redmine i postgres Podłączyć 3 kontener pod udziały dyskowe redmine
  87. 87. CHCESZ WIEDZIEĆ WIĘCEJ?
  88. 88. SZKOLENIE DOCKER ESSENTIALS Zawiera dodatkowo i poszerza zakres: Ograniczenia kontenerów Obrazy Docker oraz repozytoria obrazów (publiczne i prywatne) Uruchamianie kontenerów jako usług Kwestie administracyjne i bezpieczeństwa Zarządzanie przy użyciu Puppet Docker API Zarządzanie klastrem kontenerów na przykładzie projektu Google Kubernetes
  89. 89. SZKOLENIA POZWALAJĄ NA INDYWIDUALNĄ PRACĘ Z KAŻDYM UCZESTNIKIEM pracujemy w grupach 4-8 osobowych program może być dostosowany do oczekiwań grupy rozwiązujemy i odpowiadamy na indywidualne pytania uczestników mamy dużo więcej czasu :)
  90. 90. SZKOLENIE DEDYKOWANE DLA CIEBIE (management) Docker Clustering & Administration (soon) Docker - wprowadzenie do technologii DevOps - zwinne dostarczanie aplikacji Podstawy języka i technologii Puppet DevOps Foundations
  91. 91. WSPIERAJĄ NAS
  92. 92. DZIĘKI! PYTANIA?

×