Kontenery w Linux. Jakub Pieńkowski 10 maja, Jakub Pieńkowski Kontenery w Linux 10 maja, / 26

Podobne dokumenty
systemd-nspawn kontenery bliższe sercu administratora

Warstwy systemu Windows 2000

kontener aplikacyjny nie tylko dla programistów Łukasz Piątkowski Poznańska Impreza Wolnego Oprogramowania 2014

Docker dla początkujących Webinar, 20 lipca 2016 Start: 12:00

kontener aplikacyjny nie tylko dla programistów Łukasz Piątkowski Koło Naukowe SKiSR

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Przegląd dostępnych hypervisorów. Jakub Wojtasz IT Solutions Architect

Microsoft System Center Virtual Machine Manager 2012

WWQ. Wakacyjne Warsztaty QNAP. Zaczynamy o 11:00. Prowadzący: Łukasz Milic Certyfikowany Trener QNAP

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Android - wprowadzenie. Łukasz Przywarty

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

Open vswitch lab. Radosław Kujawa 14 czerwca 2017 OSEC

Tworzenie maszyny wirtualnej

Struktury systemów operacyjnych

Konfiguracja i kompilacja jądra Linux. Based on Free Electrons

Kernel Kompilacja jądra

Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Usługi sieciowe w kontenerach systemu operacyjnego CoreOS

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

Jak zatrudnić słonie do replikacji baz PostgreSQL

Praca w środowisku Cygwin. Przygotował Mateusz Dudek

Instalacja Systemu Linux na maszynie writualnej

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

System kontroli dostępu ACCO NET Instrukcja instalacji

Instalacja, aktualizacja i migracja do Windows 7

Warszawa, r. Copyright (c) 2015 Ministerstwo Finansów

PBS. Wykład Filtrowanie pakietów 2. Translacja adresów 3. authentication-proxy

Lista kontrolna projektu i wymagania systemowe Xesar 3.0

Serwer SMB. Udostępnienie zasobów systemowych w sieci. Jakub Stasiński, Jędrzej Chruściel, Michał Wojciechowski

FORMA SZKOLENIA MATERIAŁY SZKOLENIOWE CENA CZAS TRWANIA

Q E M U.

Dokumentacja instalatora środowiska obsługi kart mikroprocesorowych w wersji Spis treści

Szkolenie autoryzowane. MS Administracja i obsługa Windows 7. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Tworzenie oprogramowania

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

INFORMATOR TECHNICZNY WONDERWARE

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

Spis treści. Wstęp... 10

Systemy operacyjne semestr I

Wymagania systemowe dla Qlik Sense. Qlik Sense February 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Usługi sieciowe systemu Linux

Konwersja maszyny fizycznej na wirtualną.

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008

INFORMATOR TECHNICZNY WONDERWARE

Linux Kernel. Wprowadzenie

INFORMATOR TECHNICZNY WONDERWARE

Linux Kernel. Michał Kulling.

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

IP: Maska podsieci: IP: Maska podsieci: Brama domyślna:

Wymagania systemowe dla Qlik Sense. Qlik Sense June 2017 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

ADAPTER USB INTERFEJS SZEREGOWY

UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci

K. Konopko; Toolchain. Jądro Linuksa. dr inż. Krzysztof Konopko

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Wstęp do Informatyki. Klasyfikacja oprogramowania

Monitor maszyn wirtualnych

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

Bezpieczeństwo IT z Open Source na nowo

Tworzenie plików w formacie DjVu z wykorzystaniem oprogramowania DocumentExpress Enterprise Edition

klikamy Next 4. Wybieramy zgodność z systemem Virtual Machine hardware compatibility z listy zaznaczamy Workstation 6 Next 5.

System plików Linuxa. Tomasz Borzyszkowski

WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ. Pracownia specjalistyczna. Numer ćwiczenia: 5.

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

Integracja z systemem Nagios

I. Uruchomić setup i postępować według instrukcji

Sterowniki urządzeń zewnętrznych w pracy lokalnej i sieciowej w programach firmy InsERT dla Windows

Puk, puk! Kto tam? Eeeee... Spadaj!

Wymagania systemowe dla Qlik Sense. Qlik Sense June 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Red Hat Grafton Kompletna platforma do wirtualizacji dla MSP w nowej odsłonie

Dni: 5. Opis: Adresaci szkolenia. Kurs jest przeznaczony dla:

Acronis Universal Restore

INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32

Systemy operacyjne. Paweł Pełczyński

Instrukcja instalacji oprogramowania Systemu e-kt

Protokół HTTP (2) I) Wprowadzenie. II) Użyte narzędzia: III) Kolejność działań

1. Instalacja modułu w systemie Windows.

Wymagania systemowe dla Qlik Sense. Qlik Sense 3.1 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Monitorowanie Sieci nonblocking content packet filtering

Urządzenia zewnętrzne

NWD-210N Bezprzewodowy adapter USB n

Egzamin : zabezpieczanie systemu Windows Server 2016 / Timothy Warner, Craig Zacker. Warszawa, Spis treści

DLA DREAMBOX & FLASHWIZARD

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

System operacyjny Linux

Pomoc: konfiguracja PPPoE

Zabezpieczanie systemu Windows Server 2016

Red Hat OpenShift: Platforma do uruchamiania aplikacji działających w kontenerach Docker Jarosław Stakuń Senior Solution Architect, Red Hat CEE

Transkrypt:

Kontenery w Linux Jakub Pieńkowski jakski@sealcode.org 10 maja, 2016 Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 1 / 26

Czym są kontenery? Definicja Czym są kontenery? Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 2 / 26

Czym są kontenery? Definicja Kernel space & user space By Shmuel Csaba Otto Traian, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=31368855 Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 3 / 26

Czym są kontenery? Definicja Struktura systemu Programy użytkowe Mozilla Firefox, LibreOffice, Nautilus, Bash... Niskopoziomowe komponenty daemony systemowe, menedżery okien, biblioteki systemowe Biblioteka standardowa C dostarcza środowisko do działania aplikacji użytkowych oraz bibliotek. Służy jako interfejs pomiędzy aplikacjami a zawołaniami systemowymi Kernel jądro systemu odpowiedzialne za bezpośrednie interakcje z hardwarem. Obsługuje m.in. zawołania systemowe, sterowniki, zarządzanie pamięcią... Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 4 / 26

Czym są kontenery? Porównanie Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 5 / 26

Czym są kontenery? Porównanie Bezpieczeństwo Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 6 / 26

Namespaces Definicja i typy namespaces Implementacja kontenerów w Linux Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 7 / 26

Namespaces Definicja i typy namespaces Dostępne namespaces IPC komunikacja między procesami Network urządzenia sieciowe, porty etc. Mount system plików PID identyfikatory procesów User identyfikatory użytkowników i ich grup UTS nazwa hosta Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 8 / 26

Namespaces Zarządzanie namespaces Zawołania systemowe umożliwiające kontrolę nad namespaces unshare przenosi proces do nowo utworzonych namespaces clone tworzy nowy proces i przenosi go do nowych namespaces setns dołącza proces do już istniejącej namespace Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 9 / 26

Zastosowania Firejail https://github.com/netblue30/firejail Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 10 / 26

Zastosowania Firejail https://github.com/netblue30/firejail LXC https://linuxcontainers.org/ Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 11 / 26

Zastosowania Firejail https://github.com/netblue30/firejail LXC https://linuxcontainers.org/ Docker https://www.docker.com/ Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 12 / 26

Zastosowania Składanie aplikacji z mikroserwisów https://hub.docker.com/ Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 13 / 26

Docker Architektura Docker Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 14 / 26

Docker Obrazy Czym w Docker jest obraz? Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 15 / 26

Docker Obrazy System plików Meta dane obrazu Konfiguracja wolumenów pamięci masowej Konfiguracja portów Instrukcje budujące Użytkownik używany do uruchamiania kontenera Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 16 / 26

Docker Obrazy Dockerfiles $> docker build -t sealious. FROM node:latest MAINTAINER Sealcode <development@sealcode.org> # Sealious installation directory ENV SEALIOUS_PREFIX /var/sealious-build # index.js and app files. Remember to adjust run script after modifying this ENV DOC_ROOT /var/sealious # Sealious development stage to install ENV SEALIOUS_STAGE alpha WORKDIR $SEALIOUS_PREFIX # install Sealious RUN wget -qo- https://raw.githubusercontent.com/sealious/sealious/alpha/dev-setup.sh sh -s $SEALIOUS_STAGE # setup Runit RUN apt-get update && apt-get install --yes runit COPY runsvdir-start /usr/local/sbin/runsvdir-start COPY sealious /etc/service/sealious # set permissions on init script and service files RUN chown -R root:root /usr/local/sbin/runsvdir-start /etc/service/sealious/ && chmod -R 755 /usr/local/sbin/runsvdir-start /etc/service/sealious/ VOLUME $DOC_ROOT ENTRYPOINT ["/usr/local/sbin/runsvdir-start"] Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 17 / 26

Docker Obrazy Obrazy i warstwy Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 18 / 26

Docker Obrazy Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 19 / 26

Docker Przechowywanie danych aplikacji Wolumeny danych Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 20 / 26

Docker Przechowywanie danych aplikacji Kontenery do grupowania wolumenów $> docker create -v /var/www -v /var/data/db -v /home/oracle debian $> docker run -d volumes-from <id_kontenera> debian Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 21 / 26

Docker Łączenie kontenerów Sposoby na łączenie ze sobą kontenerów bridge lokalny interfejs tworzony na potrzeby kontenerów overlay wirtualna sieć złożona z wielu hostów gniazda odsłanianie gniazd przy pomocy zapory lub wolumenów Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 22 / 26

Docker Łączenie kontenerów Łączenie gniazdami UNIX-owymi Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 23 / 26

Narzędzia Docker Swarm https://docs.docker.com/swarm/ Docker Compose https://docs.docker.com/compose/ CoreOS https://coreos.com/ Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 24 / 26

Koniec https://forum.sealcode.org/ Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 25 / 26

Koniec Dziękuję za uwagę! :) Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 26 / 26