Android

Jak zainstalować i korzystać z Docker Compose na Ubuntu 18.04

Установка Docker и Docker-compose на Ubuntu | уроки docker | #1.1

Установка Docker и Docker-compose на Ubuntu | уроки docker | #1.1

Spisu treści:

Anonim

Docker Compose to narzędzie, które pozwala definiować i zarządzać aplikacjami Docker na wiele kontenerów. Używa pliku YAML do konfigurowania usług, sieci i woluminów aplikacji.

Komponuj można używać do różnych celów. Wdrożenia aplikacji z jednym hostem, automatyczne testowanie i rozwój lokalny to najpopularniejsze przypadki użycia w Docker Compose.

W tym samouczku pokażemy, jak zainstalować najnowszą wersję Docker Compose na Ubuntu 18.04 oraz poznać podstawowe pojęcia i polecenia Docker Compose.

Te same instrukcje dotyczą Ubuntu 16.04 i każdej innej dystrybucji opartej na Debianie, w tym Debian, Linux Mint i Elementary OS.

Wymagania wstępne

Przed kontynuowaniem tego samouczka upewnij się, że zostały spełnione następujące wymagania wstępne:

  • Zalogowany jako użytkownik sudo. Zainstaluj Docker, postępując zgodnie z instrukcjami z Jak zainstalować i używać Dockera na Ubuntu 18.04.

Zainstaluj Docker Compose na Ubuntu

Pakiet instalacyjny Docker Compose jest dostępny w oficjalnych repozytoriach Ubuntu 18.04, ale nie zawsze może to być najnowsza wersja. Zalecanym podejściem jest instalacja Docker Compose z repozytorium GitHub Dockera.

W chwili pisania tego artykułu najnowszą stabilną wersją Docker Compose jest wersja 1.23.1 . Przed pobraniem pliku binarnego Compose odwiedź stronę wydania repozytorium Compose na GitHub i sprawdź, czy jest dostępna nowa wersja do pobrania.

Aby zainstalować Docker Compose na Ubuntu 18.04, wykonaj następujące kroki:

  1. Pobierz plik binarny Docker Compose do katalogu /usr/local/bin za pomocą następującego polecenia curl :

    sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    Po zakończeniu pobierania zastosuj uprawnienia do pliku binarnego Compose:

    sudo chmod +x /usr/local/bin/docker-compose

    Sprawdź instalację, uruchamiając następujące polecenie, które wyświetli wersję Utwórz:

    docker-compose --version

    Dane wyjściowe będą wyglądać mniej więcej tak:

    docker-compose version 1.23.1, build b02f1306

Rozpoczęcie pracy z Docker Compose

W tej sekcji pokażemy, jak używać Docker Compose do konfigurowania wielokontenerowej aplikacji WordPress na Ubuntu 18.04.

Zacznij od utworzenia katalogu projektu i przejścia do niego:

mkdir my_app cd my_app

Uruchom edytor tekstu i utwórz plik o nazwie docker-compose.yml w katalogu projektu:

nano docker-compose.yml

Wklej następującą treść:

docker-compose.yml

version: '3.3' services: db: image: mysql:5.7 restart: always volumes: - db_data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: wordpress wordpress: image: wordpress restart: always volumes: -./wp_data:/var/www/html ports: - "8080:80" environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: wordpress WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: password depends_on: - db volumes: db_data: wp_data:

Przeanalizujmy kod linia po linii.

W pierwszym wierszu określamy wersję pliku Utwórz. Istnieje kilka różnych wersji formatu pliku Compose z obsługą określonych wydań Docker.

Następnie definiujemy dwie usługi, db i wordpress . Każda usługa uruchamia jeden obraz i utworzy osobny kontener, gdy uruchomione zostanie okno dokowania.

Usługa db :

  • Używa obrazu mysql:5.7 . Jeśli obraz nie jest obecny w systemie, zostanie pobrany z publicznego repozytorium Docker Hub. Korzysta z zasady „restart always , która nakazuje kontenerowi zawsze restartować. Tworzy nazwany wolumin db_data celu db_data bazy danych. db_data zmienne środowiskowe dla obrazu mysql:5.7 .

Usługa wordpress :

  • Używa obrazu wordpress . Jeśli obraz nie jest obecny w systemie Compose, pobierze go z publicznego repozytorium Docker Hub. Używa zasady „restart always , która nakazuje kontenerowi, aby zawsze się restartował. wp_data katalog wp_data na hoście do /var/lib/mysql wewnątrz kontener depends_on odsłonięty port 80 w kontenerze do portu 8080 na maszynie hosta. Definiuje zmienne środowiskowe dla obrazu wordpress Instrukcja depends_on określa zależność między dwiema usługami. W tym przykładzie db zostanie uruchomiony przed wordpress .

Z katalogu projektu uruchom aplikację WordPress, uruchamiając następującą komendę:

docker-compose up

Dane wyjściowe powinny wyglądać mniej więcej tak:

… wordpress_1 | AH00163: Apache/2.4.25 (Debian) PHP/7.2.10 configured -- resuming normal operations wordpress_1 | AH00094: Command line: 'apache2 -D FOREGROUND'

Compose pobierze oba obrazy, uruchomi dwa kontenery i utworzy katalog wp_data katalogu projektu.

Wpisz http://0.0.0.0:8080/ w przeglądarce, a zobaczysz ekran instalacji Wordpress.

W tym momencie aplikacja Wordpress jest uruchomiona i możesz rozpocząć pracę nad motywem lub wtyczką.

Aby zatrzymać tworzenie, naciśnij CTRL+C

Możesz także rozpocząć komponowanie w trybie odłączonym, przekazując flagę -d .

docker-compose up -d

Aby sprawdzić uruchomione usługi, użyj opcji ps :

docker-compose ps

Name Command State Ports ---------------------------------------------------------------------------------- my_app_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp my_app_wordpress_1 docker-entrypoint.sh apach… Up 0.0.0.0:8080->80/tcp

Gdy funkcja tworzenia jest uruchomiona w trybie odłączonym, aby zatrzymać usługi:

docker-compose stop

docker-compose down

Przekazywanie przełącznika --volumes spowoduje również usunięcie woluminów danych:

docker-compose down --volumes

Odinstalowywanie aplikacji Docker Compose

Jeśli z jakiegoś powodu chcesz odinstalować Docker Compose, możesz po prostu usunąć plik binarny, wpisując:

sudo rm /usr/local/bin/docker-compose

Wniosek

Nauczyłeś się, jak zainstalować i używać Docker Compose na Ubuntu 18.04.

Korzystanie z Docker Compose może znacznie poprawić przepływ pracy i wydajność. Możesz zdefiniować swoje środowisko programistyczne za pomocą Docker Compose i udostępnić je współpracownikom projektu.

docker ubuntu