Docker - co to? || Docker - what's it?

in #pl-programowanie6 years ago (edited)
Docker z roku na rok staje się coraz bardziej popularny. Jeśli nie używałeś go jeszcze w pracy, to z pewnością lada moment na niego trafisz. Co to właściwie jest?

Pozwólcie, że dziś w krótki, prosty sposób opowiem o nim.

Docker is becoming more and more popular from year to year. If you don't use it yet I'm sure you'll know it at any moment. What is it?

Let me tell about Docker today.

Co to jest Docker?
  1. To narzędzie, które pozwala tworzyć kontenery na których można odpalać aplikacje.

  2. Każdy kontener posiada obszar pamięci, interfejs sieciowy, wydzielony obszar na dysku.

Upraszczając ...

Wyobraźmy sobie taką sytuację:

Pracujesz w firmie A i jesteś przypisany do zespołu B, gdzie pracuje się na bazie danych DB_A w wersji 1.0. Instalujesz bazę danych, importujesz dane i wszystko jest ok. Następnego dnia w pracy jesteś poproszony, aby pracować przez kolejne trzy miesiące w innym zespole, gdzie używa się bazę danych DB_A, ale w wersji 2.0. Nie możesz zainstalować wersji 2.0, ponieważ masz już na swoim komputerze zainstalowaną wersję wcześniejszą. Zainstalowanie wersji nowszej spowodowałoby nadpisanie wersji starszej, a my chcemy mieć obie wersje, ponieważ po 3 miesiącach wracamy do zespołu B. Co robimy?

Z pomocą przychodzi Docker!

  1. Kilka sekund i uruchamiasz kontener z bazą w wersji 1.0.
  2. Przenosisz się do zespołu, który używa bazę w wersji 2.0. Wyłączasz kontener dla 1.0 i w kilka sekund uruchamiasz kontener z bazą 2.0.
  3. A co jeśli trafimy do zespołu D, gdzie używa się bazy danych wersji 3.0? Wyłączamy kontener i uruchamiamy kontener z bazą 3.0.
What is Docker?
  1. It's tool that allows to create containers by apps run.
  2. Each of container has memory space, network interface, dedicated area on the disk.

Put simply...

Imagine the following situation:

You work in the company A and you assigned to the team B which use database DB_A (version 1.0). You install a database then import a data and everything is ok. The next day, you find out that you must change the team in which it uses other version of database (2.0). You can not install database with version 2.0 because database with version 1.0 was install on your computer. If you install database (version 2.0), you overwrite previously version. You need a both version of database because it turned put that you're coming back to the team B after 3 months. What we have to do ?

Docker can help us!

  1. Run a container which contains databasewith version 1.0
  2. Change the team which use database 2.0. You can switch container which contains database with version 2.0.
  3. In case, we change team to team D (which use database with version 3.0), we switch to properly container.

***

More information about Docker, you can find here.

Sort:  

O, właśnie ostatnio w ofercie pracy widziałem wymaganą znajomość Dockera. Jako laik mam pytanie - czy nie lepiej odpalić wirtualną maszynę?
tipuvote!

Docker daje trochę większą elastyczność. Budowa nowego obrazu jest dużo łatwiejsza, ilość przydzielonych zasobów mniejsza, konfigurowalność wyższa. Wyobraź sobie, że potrzebujesz mieć kilka-kilkanaście uruchomionych usług: możesz tak dobrać kontenery, aby się dało. Nie musisz niczego odręcznie instalować. Możesz przy tym mieć identyczne środowisko do programowania, testów i na produkcji. Testy komponentów mogą sobie takie coś samemu uruchomić: docker-compose-rule na junit. My jeszcze mamy w pracy automatycznie generowany plik docker compose i przed testem możemy kodem podać, czego potrzeba.
Jednocześnie możesz podpiąć foldery w Twoim katalogu i tam trzymać dane, z łatwością mapować porty etc.

Docker to kontener, więc działa szybciej (jak aplikacja na systemie). Jak chcesz coś bliżej VMki to LXC

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.033
BTC 63475.87
ETH 3121.13
USDT 1.00
SBD 3.87