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

Cara Menginstal Docker dan Docker Compose di Linux

Docker memberi Anda semua yang Anda butuhkan untuk membangun dan menjalankan container di sistem Linux Anda. Wadah mirip dengan mesin virtual ringan. Mereka memungkinkan Anda membuat image aplikasi portabel yang berjalan menggunakan kernel sistem operasi host Anda.

Anda dapat menggunakan Docker pada platform Debian, Fedora, CentOS dan Raspbian. Turunan dari distribusi tersebut juga akan berfungsi. Docker menyediakan build x86/x64 dan ARM untuk sebagian besar platform yang didukung. Kami menggunakan sistem Debian dengan apt manajer paket untuk panduan ini. Instruksi khusus untuk distribusi lain dapat ditemukan di dokumen Docker.

Docker Compose memungkinkan Anda membangun dan menjalankan tumpukan beberapa kontainer. Anda membuat file YAML yang mengonfigurasi wadah aplikasi Anda. Anda kemudian dapat menggunakan satu perintah untuk memulai semua wadah dan menautkannya bersama-sama. Compose membantu Anda memisahkan komponen tumpukan Anda ke dalam layanan kontainer individual.

Compose didistribusikan secara independen dari Docker. Instal Docker sebelum menambahkan Compose – jika tidak, Compose tidak akan dapat berfungsi.

TERKAIT: Cara Menggunakan Docker untuk Menampung PHP dan Apache

Instal Docker

Anda dapat menggunakan manajer paket sistem operasi Anda untuk menginstal rilis Docker terbaru. Anda harus menambahkan repositori Docker, memperbarui daftar paket Anda, lalu menginstal Docker.

Debian/Ubuntu

Mulailah dengan menambahkan dependensi yang dibutuhkan oleh proses instalasi:

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release

Selanjutnya, tambahkan kunci GPG repositori Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Tambahkan repositori ke sumber Anda dan perbarui daftar paket Anda:

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Sekarang Anda dapat menginstal Docker:

sudo apt-get install docker-ce docker-ce-cli containerd.io

Fedora

Tambahkan repositori paket Docker:

sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo

Instal Docker:

sudo dnf install docker-ce docker-ce-cli containerd.io

CentOS

Tambahkan repositori paket Docker:

sudo yum -y install yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo

Instal Docker:

sudo yum install docker-ce docker-ce-cli containerd.io

Menggunakan Docker Tanpa Sudo

Daemon Docker berjalan sebagai root . Anda biasanya harus mengawali perintah Docker dengan sudo . Ini bisa menjadi membosankan jika Anda sering menggunakan Docker. Menambahkan diri Anda ke docker grup akan membiarkan Anda menggunakan Docker tanpa sudo .

sudo usermod -aG docker $USER

Setelah Anda berada di grup, logout dan login lagi. Atau, jalankan newgrp docker perintah untuk segera masuk ke grup yang diperbarui. Anda sekarang seharusnya dapat melepaskan sudo dari perintah Docker.

Menguji Instalasi Docker Anda

Sekarang Docker terinstal, saatnya menguji apakah itu berfungsi! Anda dapat menggunakan minimal hello-world gambar.

docker run hello-world:latest

Anda akan melihat beberapa baris output muncul di terminal Anda. Docker pertama-tama akan mencari hello-world:latest gambar di mesin Anda. Karena tidak akan ada, gambar akan ditarik dari repositori Docker Hub.

Setelah gambar ditarik, wadah baru akan dibuat darinya. Wadah dikonfigurasi untuk memancarkan pesan dasar "hello world" dan kemudian keluar. Jika Anda melihat teksnya, berarti instalasi Docker Anda berfungsi!

Mengelola Layanan Docker

Anda dapat memeriksa apakah Docker berjalan dengan memeriksa layanannya dengan systemctl . Ada dua komponen yang perlu dipertimbangkan, docker dan containerd . docker adalah daemon Docker Engine tempat CLI mengirimkan perintah. containerd adalah runtime dasar yang menjalankan container Anda.

sudo systemctl status docker.service
sudo systemctl status containerd.service

Anda dapat mengelola daemon seperti layanan lain di sistem Anda. Gunakan systemctl stop jika Anda ingin menghentikan sementara Docker dan mengosongkan sumber daya sistem yang digunakan oleh container Anda:

sudo systemctl stop docker.service

Anda dapat memulai ulang layanan dengan systemctl start .

Menambahkan Docker-Compose

docker-compose adalah biner terpisah yang paling baik diunduh langsung dari rilis GitHub proyek. Distribusi Linux yang paling populer memang menyertakan Compose dalam manajer paket mereka tetapi bisa jadi sudah usang secara signifikan.

Buka halaman rilis Docker Compose dan catat nomor versi terbaru. Pada saat penulisan, itu adalah 1.29.0 .

Ganti versi yang Anda lihat sebagai ganti 1.29.0 dalam perintah di bawah ini. Ini akan mengunduh biner yang tepat untuk sistem Anda dan memasukkannya ke dalam /usr/local/bin .

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

Selanjutnya buat file tersebut dapat dieksekusi:

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

Anda sekarang dapat menggunakan docker-compose perintah di terminal Anda. Coba jalankan docker-compose --version untuk memeriksa.

Membuat File Tulis Docker Sederhana

Untuk menggunakan docker-compose anda harus membuat docker-compose.yml mengajukan. Ini menjelaskan wadah yang membentuk tumpukan aplikasi Anda. Anda dapat menentukan binding port, variabel lingkungan, jaringan, dan volume yang digunakan oleh container Anda.

Wadah yang dideklarasikan dalam docker-compose.yml yang sama file secara otomatis menjadi bagian dari tumpukan yang sama. Mereka ditautkan bersama ke dalam jaringan Docker, sehingga mereka dapat berkomunikasi satu sama lain menggunakan docker-compose.yml mereka nama layanan sebagai nama host.

Berikut adalah docker-compose.yml sederhana untuk menjalankan server web PHP dan database MySQL:

version: "3"

services:
  app:
    image: php8.0-apache
    environment:
      - MYSQL_SERVER=mysql
      - MYSQL_USERNAME=root
      - MYSQL_PASSWORD=example
    ports:
      - ${PORT:-80}:80
    restart: unless-stopped
  mysql:
    image: mysql:8.0
    expose:
      - 3306
    environment:
      - MYSQL_ROOT_PASSWORD
    volumes:
      - mysql:/var/lib/mysql
    restart: unless-stopped

volumes:
  mysql:

Anda dapat meluncurkan kedua layanan dengan menjalankan docker-compose up -d . Anda akan melihat kedua gambar ditarik dari Docker Hub. Kontainer kemudian akan dimulai. Anda dapat menghentikan keduanya menggunakan docker-compose stop . Gunakan docker-compose down untuk menghapus wadah.

Contoh file YAML menampilkan beberapa fitur Docker Compose. Kontainer didefinisikan di bawah services node, dengan setiap wadah mendeklarasikan image Docker-nya . Anda dapat meneruskan variabel lingkungan shell ke dalam wadah (environments ) dan atur pengikatan port Docker (ports ). Variabel lingkungan dapat diinterpolasi menjadi string menggunakan ${VARIABLE:-DEFAULT} sintaksis. Jika variabel tidak disetel di shell Anda, DEFAULT akan digunakan sebagai nilai sebagai gantinya. Anda dapat mempelajari lebih lanjut tentang Docker Compose di panduan khusus kami.

Ringkasan

Anda dapat dengan mudah menginstal Docker menggunakan manajer paket distribusi Linux populer. Tambahkan repositori Docker lalu instal docker-ce , docker-ce-cli dan containerd.io . Komponen ini memberikan semua yang Anda butuhkan untuk membangun dan menjalankan container.

Setelah Anda menjalankan dan menjalankannya, Anda dapat menulis Dockerfile dan gunakan docker build -t my-app:latest . untuk membangunnya. Kemudian gunakan docker run my-app:latest untuk memulai penampung Anda.

Docker-Compose adalah lapisan abstraksi tambahan yang membuatnya lebih mudah untuk menjalankan "tumpukan" beberapa wadah. Dengan Compose, Anda tidak perlu menjalankan beberapa perintah secara manual secara berurutan. Anda dapat menulis file YAML deklaratif dan menggunakan docker-compose up untuk memulai semua container Anda secara bersamaan.

TERKAIT: Apa Itu Docker Compose, dan Bagaimana Cara Menggunakannya?


Docker
  1. Cara menginstal Docker di sistem Fedora Linux

  2. Cara Menginstal dan Menggunakan Docker di Ubuntu 18.04

  3. Cara Menginstal dan Menggunakan Docker Compose di CentOS

  1. Cara Menginstal dan Menggunakan Docker Compose di Ubuntu 18.04

  2. Cara Menginstal dan Menggunakan Docker di CentOS 7

  3. Cara Menginstal dan Menggunakan Docker Compose di CentOS 7

  1. Cara Menginstal dan Menggunakan Docker di Debian 10 Linux

  2. Cara Menginstal dan Menggunakan Docker Compose di Debian 10 Linux

  3. Cara Menginstal dan Menggunakan Docker di Arch Linux