Docker – Mini Kurs cz.2 – Obrazy i Kontenery


Jak zapewnić zgodność i aktualność dokumentacji z wytwarzanym oprogramowaniem? Dockerfile jest nie tylko definicją pozwalającą budować obrazy i wytwarzać z nich aplikacje, ale jest także doskonałym źródłem wiedzy.


W drugim odcinku mini kursu dockera porozmawiamy o wytwarzaniu dokumentacji i oprogramowania w sposób jednolity.

  1. Repozytorium użyte w tym odcinku
  2. Omówienie Dockerfile
  3. Podstawowe komendy

1. Repozytorium

https://github.com/marcinma/docker-mini-kurs/tree/master/02-dockerfile

2. Dockerfile

W tym odcinku omawiam tylko podstawowe komendy z Dockerfile:
FROM – Określe bazę plików, na której będziemy działać
COPY – Kopiuje pliki z lokalnego komputera do obrazu
RUN – Uruchamia komendę wewnątrz obrazu w trakcie jego budowy
CMD – Ustawia komendę, która uruchomi się gdy wystartujemy kontener bez żadnych parametrów

FROM gcc:9.3.0

COPY main.cpp main.cpp

RUN c++ -static main.cpp -o main

CMD ["./main"]

Komendy użyte w tym odcinku

docker image build -t {nazwa} ./ – Buduje obraz nadając mu nazwę z argumentu -t oraz wykorzystując plik Dockerfile znajdujący się w aktualnym katalogu

docker container run cpp-test – Uruchamia kontener z wybudowanego obrazu

docker container ls -a – Wyświetla wszystkie kontenery
docker container logs {nazwa_contenera} – Wyświetla wynik ze standardowego wyjścia z kontenera o danej nazwie. Domyślnie docker engine przydziela losowe nazwy, które możemy znaleźć dzięki poleceniu docker container ls -a

docker image build -t cpp-test ./
docker container run cpp-test
docker container ls -a
docker container logs {nazwa_kontenera}

muzyka użyta w filmie na licencji cc: ispeakwaves

Głównym założeniem tego mini kursu jest wychodzenie od problemu do rozwiązania. Będę wdzięczny jeżeli zostawisz mi swój komentarz, jak podoba Ci się takie podejście, oraz jakie zagadnienia chciałbyś abym poruszył w następnym odcinku.

Może Ci się również spodoba

Dodaj komentarz

This site uses Akismet to reduce spam. Learn how your comment data is processed.