Menginstal Docker Compose di Ubuntu 18.04 - Di DigitalOcean

 Docker adalah alat yang hebat untuk mengotomatisasi penyebaran aplikasi Linux di dalam wadah perangkat lunak, tetapi untuk memanfaatkan potensinya sepenuhnya, setiap komponen aplikasi harus berjalan dalam wadah masing-masing. Untuk aplikasi kompleks dengan banyak komponen, mengatur semua wadah untuk memulai, berkomunikasi, dan mematikan bersama-sama dapat dengan cepat menjadi berat.

Komunitas Docker datang dengan solusi populer yang disebut Fig , yang memungkinkan Anda menggunakan satu file YAML untuk mengatur semua wadah dan konfigurasi Docker Anda. Ini menjadi sangat populer sehingga tim Docker memutuskan untuk membuat Docker Compose berdasarkan sumber Fig, yang sekarang tidak digunakan lagi. Docker Compose memudahkan pengguna untuk mengatur proses container Docker, termasuk memulai, mematikan, dan menyiapkan penautan dan volume intra-kontainer.

Langkah 1 — Memasang Docker Compose

Meskipun kami dapat menginstal Docker Compose dari repositori resmi Ubuntu, ini adalah beberapa versi minor di belakang rilis terbaru, jadi kami akan menginstal Docker Compose dari repositori GitHub Docker. Perintah di bawah ini sedikit berbeda dari yang akan Anda temukan di halaman Rilis . Dengan menggunakan -oflag untuk menentukan file output terlebih dahulu daripada mengarahkan ulang output, sintaks ini menghindari kesalahan izin yang ditolak yang disebabkan saat menggunakan sudo.

Kami akan memeriksa rilis saat ini dan jika perlu, perbarui dengan perintah di bawah ini:

  • sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
 

Selanjutnya kita akan mengatur hak akses:

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

Kemudian kami akan memverifikasi bahwa instalasi berhasil dengan memeriksa versi:

  • docker-compose --version
 

Ini akan mencetak versi yang kami instal:

Output
docker-compose version 1.21.2, build a133471

Sekarang kita telah menginstal Docker Compose, kita siap untuk menjalankan contoh “Hello World”.

Langkah 2 — Menjalankan Container dengan Docker Compose

Registri Docker publik, Docker Hub, menyertakan gambar Hello World untuk demonstrasi dan pengujian. Ini menggambarkan konfigurasi minimal yang diperlukan untuk menjalankan wadah menggunakan Docker Compose: file YAML yang memanggil satu gambar:

Pertama, kita akan membuat direktori untuk file YAML dan pindah ke dalamnya:

  • mkdir hello-world
  • cd hello-world
 

Kemudian, kita akan membuat file YAML:

  • nano docker-compose.yml
 

Masukkan konten berikut ke dalam file, simpan file, dan keluar dari editor teks:

docker-compose.yml
my-test:
 image: hello-world
 

Baris pertama dalam file YAML digunakan sebagai bagian dari nama container. Baris kedua menentukan gambar mana yang akan digunakan untuk membuat wadah. Ketika kita menjalankan perintah docker-compose upitu akan mencari gambar lokal dengan nama yang kita tentukan, hello-worldDengan ini di tempat, kami akan menyimpan dan keluar dari file.

Kita dapat melihat gambar secara manual di sistem kita dengan docker imagesperintah:

  • docker images
 

Ketika tidak ada gambar lokal sama sekali, hanya judul kolom yang ditampilkan:

Output
REPOSITORY TAG IMAGE ID CREATED SIZE

Sekarang, saat masih di ~/hello-worlddirektori, kami akan menjalankan perintah berikut:

  • docker-compose up
 

Pertama kali kita menjalankan perintah, jika tidak ada gambar lokal bernama hello-world, Docker Compose akan menariknya dari repositori publik Docker Hub:

Output
Pulling my-test (hello-world:latest)... latest: Pulling from library/hello-world c04b14da8d14: Downloading [==================================================>] c04b14da8d14: Extracting [==================================================>] c04b14da8d14: Extracting [==================================================>] c04b14da8d14: Pull complete Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9 Status: Downloaded newer image for hello-world:latest . . .

Setelah menarik gambar, docker-composebuat wadah, lampirkan, dan jalankan program hello , yang pada gilirannya mengonfirmasi bahwa penginstalan tampaknya berfungsi:

Output
. . . Creating helloworld_my-test_1... Attaching to helloworld_my-test_1 my-test_1 | my-test_1 | Hello from Docker. my-test_1 | This message shows that your installation appears to be working correctly. my-test_1 | . . .

Kemudian ia mencetak penjelasan tentang apa yang dilakukannya:

Output of docker-compose up
1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.

Kontainer Docker hanya berjalan selama perintah aktif, jadi setelah helloselesai dijalankan, kontainer berhenti. Akibatnya, ketika kita melihat proses yang aktif, header kolom akan muncul, tetapi hello-worldwadah tidak akan terdaftar karena tidak berjalan.

  • docker ps
 
Output
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

Kita dapat melihat informasi container, yang akan kita perlukan pada langkah berikutnya, dengan menggunakan -aflag yang menunjukkan semua container, bukan hanya container yang aktif:

  • docker ps -a
 
Output
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 06069fd5ca23 hello-world "/hello" 35 minutes ago Exited (0) 35 minutes ago drunk_payne

Ini menampilkan informasi yang kita perlukan untuk menghapus penampung setelah selesai.

Langkah 3 — Menghapus Gambar (Opsional)

Untuk menghindari penggunaan ruang disk yang tidak perlu, kami akan menghapus gambar lokal. Untuk melakukannya, kita harus menghapus semua container yang mereferensikan gambar menggunakan docker rmperintah, diikuti dengan ID CONTAINER atau NAME. Di bawah ini, kami menggunakan ID CONTAINER dari docker ps -aperintah yang baru saja kami jalankan. Pastikan untuk mengganti ID penampung Anda:

  • docker rm 06069fd5ca23
 

Setelah semua wadah yang mereferensikan gambar telah dihapus, kami dapat menghapus gambar tersebut:

  • docker rmi hello-world
 

Kesimpulan

Kami sekarang telah menginstal Docker Compose, menguji instalasi kami dengan menjalankan contoh Hello World, dan menghapus image dan container uji.

Sementara contoh Hello World mengkonfirmasi instalasi kami, konfigurasi sederhana tidak menunjukkan salah satu manfaat utama Docker Compose — mampu membawa sekelompok container Docker ke atas dan ke bawah pada saat yang bersamaan. 

Comments

Popular posts from this blog

Cloud Computing Deployment Models: Technical know how.

Laravel eloquent Lazy Vs. Eager Loaded