GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Apa itu Docker Compose, dan Bagaimana Cara Menggunakannya?

Docker Compose adalah alat yang dapat Anda gunakan untuk mengelola penyebaran banyak container Docker yang berbeda secara terpusat. Ini adalah alat penting untuk aplikasi apa pun yang membutuhkan banyak layanan mikro, karena memungkinkan setiap layanan dengan mudah berada dalam wadah yang dikelola secara terpisah.

Apa yang Dilakukan Docker Compose?

Kontainer Docker digunakan untuk menjalankan aplikasi di lingkungan yang terisolasi. Sangat umum saat ini untuk melihat penerapan aplikasi dilakukan di Docker karena banyak manfaat yang dibawanya. Namun, seringkali tidak sesederhana hanya menjalankan satu wadah. Biasanya Anda mungkin memiliki banyak wadah yang bersatu untuk bertindak sebagai satu layanan kohesif yang terdiri dari banyak bagian yang bergerak.

Mengelola semua ini pada waktu penerapan berantakan, jadi untuk membersihkannya, Docker menyediakan Docker Compose, alat konfigurasi yang digunakan untuk menjalankan beberapa kontainer sekaligus. Anda dapat menentukan semua konfigurasi dalam satu file YAML, lalu memulai semua container dengan satu perintah.

Daripada memiliki semua layanan Anda dalam satu wadah besar, Docker Compose memungkinkan Anda untuk membaginya menjadi wadah yang dapat dikelola secara individual. Ini lebih baik untuk pembuatan dan penerapan, karena Anda dapat mengelola semuanya dalam basis kode terpisah, dan tidak perlu memulai setiap wadah secara manual.

Menggunakan Docker Compose adalah proses tiga langkah:

  • Buat gambar komponen menggunakan file Docker mereka, atau tarik dari registri.
  • Tentukan semua layanan komponen di docker-compose.yml berkas.
  • Jalankan semuanya bersama-sama menggunakan docker-compose CLI.

Docker Compose bukanlah jenis lain dari Dockerfile. Anda masih perlu membuat dan memublikasikan container Docker menggunakan Dockerfile. Namun, alih-alih menjalankannya secara langsung, Anda dapat menggunakan Docker Compose untuk mengelola konfigurasi penerapan multi-kontainer.

Bagaimana Anda Menggunakan Docker Compose?

Konfigurasi untuk file penulisan buruh pelabuhan dilakukan di docker-compose.yml . Anda tidak perlu menempatkan ini di root proyek Anda seperti Dockerfile. Bahkan, itu bisa pergi ke mana saja, karena tidak bergantung pada kode lain. Namun, jika Anda membuat gambar secara lokal, gambar tersebut harus masuk ke folder proyek dengan kode yang sedang dibuat.

File konfigurasi Compose akan terlihat seperti berikut ini. Konfigurasi ini menjalankan instance WordPress menggunakan wordpress wadah dari Docker Hub. Namun, ini tergantung pada database MySQL, yang juga dibuat oleh Compose.

version: '3'

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

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

Mari kita lihat format file ini. Pertama, nomor versi, karena sintaks dapat berubah tergantung pada versi yang Anda gunakan.

Berikutnya daftar Layanan. Yang pertama bernama “db,” dan menggunakan mysql:5.7 wadah, atur untuk selalu memulai ulang, dan dengan variabel lingkungan untuk mengonfigurasi database dengan pengguna dan kata sandi. Untuk memelihara data saat dimulai ulang, image ini dikonfigurasi dengan volume Docker yang dipasang ke direktori data MySQL.

Layanan lainnya adalah "wordpress," yang bergantung pada layanan database, memastikan bahwa Docker akan memastikan database dimulai sebelum dijalankan. Ini memperlihatkan port 80 sebagai port 8000, dan menetapkan beberapa variabel lingkungan sehingga dapat terhubung ke MySQL. Perhatikan bahwa host untuk database diatur ke db:3306 , yang memberi tahu wadah WordPress untuk terhubung ke layanan “db”.

Terakhir, volume ditentukan untuk penyimpanan persisten. Secara opsional, Anda juga dapat menentukan jaringan khusus untuk container. Ada banyak opsi tambahan yang dapat Anda konfigurasi, jadi jika Anda ingin melakukan sesuatu yang spesifik, Anda harus memeriksa dokumentasi untuk Docker Compose.

Setelah dikonfigurasi, memulai layanan ini mudah. Cukup jalankan docker-compose up , yang akan menarik semua container yang diperlukan dan memulai layanan Anda.

docker-compose up -d

Dan Anda akan melihat layanan yang berjalan pada sistem dengan docker ps . Dalam hal ini, Anda akan melihat WordPress aktif dan berjalan dengan benar.

TERKAIT: Cara Menginstal Docker dan Docker Compose di Linux

Membangun Dengan Penulisan Docker

Docker Compose juga dapat digunakan dalam proyek Dockerfile, dan dapat diatur untuk membangun dan menjalankan image secara lokal daripada menariknya dari Docker Hub.

Untuk melakukannya, Anda hanya perlu menambahkan build bagian pada layanan. Anda dapat mengatur direktori konteks yang berbeda, serta file Docker yang berbeda untuk gambar yang berbeda.

version: "3.8"
services:
  webapp:
    build:
      context: ./dir
      dockerfile: Dockerfile-alternate
    image: imagename:tag

Dalam hal ini, image: variabel juga disetel, tetapi di sini digunakan untuk menandai gambar yang dibuat oleh Docker Compose.


Docker
  1. Cara Menggunakan Tulis Docker

  2. Bagaimana dan Mengapa Menggunakan Host Docker Jarak Jauh

  3. Cara Menginstal dan Menggunakan Docker Compose di CentOS

  1. Apa itu Umask dan Bagaimana Cara Menggunakannya

  2. Apa itu chroot jail dan Bagaimana Cara Menggunakannya?

  3. Apa Itu Volume Docker, dan Bagaimana Anda Menggunakannya?

  1. Apa itu Kubernetes DaemonSet dan Bagaimana Cara Menggunakannya?

  2. Cara Menginstal dan Menggunakan Docker Compose di Ubuntu 18.04

  3. Cara Menginstal dan Menggunakan Docker Compose di CentOS 7