Menu

Region US

Grandmetric LLC
Lewes DE 19958
16192 Coastal Hwy USA
EIN: 98-1615498
+1 302 691 94 10
info@grandmetric.com

Region EMEA

GRANDMETRIC Sp. z o.o.
ul. Metalowa 5, 60-118 Poznań, Poland
NIP 7792433527
+48 61 271 04 43
info@grandmetric.com

UK

Grandmetric LTD
Office 584b
182-184 High Street North
London
E6 2JA
+44 20 3321 5276
info@grandmetric.com

  • en
  • pl
  • Konfiguracja Dockera z docker-compose

    Projektowanie i konfigurowanie

    Konfiguracja Dockera z docker-compose

    Co to jest docker-compose?

    Docker-compose to przydatne narzędzie do orkiestracji wielokontenerowych aplikacji Docker. Pozwala uruchamiać aplikacje w oparciu o plik YAML. Te pliki to lista instrukcji określających parametry uruchamianych aplikacji.

    W naszym przykładzie uruchomimy dwa kontenery – bazę danych MySQL i podstawową aplikację internetową WordPress.

    Pliki tworzenia dockera mogą wyglądać tak:


    version: '3.3'

    services:
       db:
          image: mysql:5.7
          volumes:
             - db_data:/var/lib/mysql
          restart: always
          environment:
             MYSQL_ROOT_PASSWORD: somewordpress
             MYSQL_DATABASE: wordpress
             MYSQL_USER: wordpress
             MYSQL_PASSWORD: wordpress

       wordpress:
          depends_on:
             - db
          image: wordpress:latest
          ports:
             - "8000:80"
          restart: always
          environment:
             WORDPRESS_DB_HOST: db:3306
             WORDPRESS_DB_USER: wordpress
             WORDPRESS_DB_PASSWORD: wordpress
             WORDPRESS_DB_NAME: wordpress
          volumes:
             db_data: {}

     

    Jak zarządzać aplikacją złożoną z wielu kontenerów dzięki docker-compose?

    Do zarządzania kontenerami możemy użyć kilku podstawowych poleceń docker-compose:

    Zbuduj lub przebuduj serwisy

    docker-compose build

     

    Stwórz i uruchom kontenery

    docker-compose up

    docker-compose up

     

    Jak widać, kontenery zostały uruchomione, a logi wydrukowane na konsoli. Aby uruchomić w tle, użyj parametru -d.

     

    Uruchom jednorazową komendę w serwisie

    docker-compose run
    ex: docker-compose run wordpress

    Możesz dla przykładu wydrukować wersję Debiana kontenera WordPress.

    docker-compose run wordpress

     

    Pokaż listę uruchomionych kontenerów

    docker ps

    Polecenie docker ps pokazuje:

    • identyfikator kontenera,
    • nazwę i wersję obrazu,
    • jak dawno powstał kontener,
    • status,
    • porty i nazwę kontenera.

    docker ps komendy docker-compose

     

    Wydrukuj listę informacji o uruchomionych kontenerach z bieżącego pliku docker-compose.yaml

    docker-compose ps

    docker-compose ps wordpress

     

    Pokaż wszystkie logi w kontenerze od jego uruchomienia

    docker logs <service>

    docker logs service

     

    Zatrzymaj i usuń kontenery, sieci, woluminy i obrazy utworzone za pomocą polecenia „up”

    docker-compose down

    docker-compose down

     

    Zabij jeden lub więcej działających kontenerów

    docker kill <container_id>

    docker kill service

     

    Pokaż listę obrazów

    docker images

    docker images

     

    Wykonaj polecenie w działającym kontenerze

    docker exec <service> <bash_command>

    docker-compose run wordpress

     

    Usuń wszystkie nieużywane dane

    docker system prune

    docker system prune img

    Przydatne kombinacje poleceń

    Zabij wszystkie uruchomione kontenery

    docker kill $(docker ps -q)

    Zatrzymaj wszystkie uruchomione kontenery

    docker stop $(docker ps -q)

    Usuń wszystkie obrazy

    docker rmi $(docker images -q)

    Usuń wszystkie kontenery

    docker rm $(docker container ps -q)

     

    Podsumowanie

    Docker-compose to przydatne i łatwe narzędzie do zarządzania wieloma kontenerami. Możesz zdecydować, w jaki sposób kontenery są rozdzielone, z jakich zasobów mogą korzystać i jak się ze sobą komunikują. Możesz także ustawić, co ma się stać, jeśli zmieni się status jednego z kontenerów. Ta funkcja umożliwia automatyczne przywrócenie stanu systemu.

     

    Więcej konfiguracji Dockera

    dockerfile

     

    Autor: Mateusz Sobkowiak
     
    Grandmetric: Network & Security