Docker adalah perangkat lunak sumber terbuka untuk dengan mudah membuat dan menjalankan aplikasi di lingkungan terisolasi yang disebut wadah dari aplikasi apa pun. Ini menyediakan cara yang efisien untuk mengemas aplikasi dengan perpustakaannya dan dependensi lainnya ke dalam unit standar untuk pengembangan perangkat lunak.
Kontainer Docker jauh lebih cepat dan lebih efisien daripada mesin virtual karena tidak harus menjalankan seluruh sistem operasi, hanya executable yang melayani aplikasi.
Di sini, kita akan melihat cara menginstal Docker Comunity Edition (CE) di Debian 11.
Catatan: Docker memerlukan OS Debian versi 64-bit.
Instal Docker di Debian 11
Hapus Versi Lama
Pertama, hapus instalan paket Docker versi lama yang disebut docker atau docker-engine, bersama dengan dependensi dari sistem Anda. Namun, penghapusan instalasi ini tidak akan menghapus volume, gambar, dan jaringan Docker yang ada yang ditemukan di bawah direktori /var/lib/docker/.
sudo apt remove -y docker docker-engine docker.io containerd runc
Siapkan Repositori Docker
Instal paket di bawah ini agar apt mendapat dukungan dari metode HTTPS.
sudo apt update sudo apt install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
Tambahkan kunci GPG Docker ke sistem Anda.
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Tambahkan repositori Docker ke sistem dengan menjalankan perintah di bawah ini.
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
Perbarui indeks repositori.
sudo apt update
Instal Mesin Docker
Instal Mesin Docker menggunakan perintah apt.
sudo apt install -y docker-ce docker-ce-cli containerd.io
Periksa versi Docker setelah penginstalan.
docker -v
Keluaran:
Docker version 20.10.8, build 3967b7d
Saat ini, layanan Docker seharusnya sudah aktif dan berjalan.
sudo systemctl status docker
Keluaran:
● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-08-21 12:31:37 CDT; 1min 39s ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID: 18894 (dockerd) Tasks: 8 Memory: 31.3M CPU: 448ms CGroup: /system.slice/docker.service └─18894 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock Aug 21 12:31:37 debian11.itzgeek.local dockerd[18894]: time="2021-08-21T12:31:37.192715381-05:00" level=info msg="scheme \"unix\" not registered, fallback to default s> Aug 21 12:31:37 debian11.itzgeek.local dockerd[18894]: time="2021-08-21T12:31:37.192736530-05:00" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///r> Aug 21 12:31:37 debian11.itzgeek.local dockerd[18894]: time="2021-08-21T12:31:37.192749042-05:00" level=info msg="ClientConn switching balancer to \"pick_first\"" modu> Aug 21 12:31:37 debian11.itzgeek.local dockerd[18894]: time="2021-08-21T12:31:37.429344966-05:00" level=info msg="Loading containers: start."
Verifikasi Instalasi Docker
Untuk menguji instalasi Docker, kita akan menjalankan container hello-world.
sudo docker run hello-world
Output di bawah ini mengonfirmasi bahwa Anda telah menginstal Docker Engine dengan benar di OS Debian.
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world b8dfde127a29: Pull complete Digest: sha256:0fe98d7debd9049c50b597ef1f85b7c1e8cc81f59c8d623fcb2250e8bec85b38 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 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. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/
Izinkan pengguna non-root menjalankan Perintah Docker
Secara default, pengguna biasa tidak memiliki hak istimewa untuk menjalankan perintah Docker karena daemon Docker menggunakan soket Unix yang dimiliki oleh root pengguna.
docker run hello-world
Keluaran:
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create": dial unix /var/run/docker.sock: connect: permission denied.
Untuk mengizinkan pengguna Linux biasa menjalankan wadah Docker tanpa awalan sudo, ikuti langkah-langkah di bawah ini.
Buat grup bernama buruh pelabuhan jika tidak ada.
sudo groupadd docker
Buat pengguna jika diperlukan. Ganti itzgeek dengan nama pengguna Anda.
sudo useradd -m -s /bin/bash itzgeek
Tambahkan pengguna ke grup buruh pelabuhan.
sudo usermod -aG docker itzgeek
Logout dan login kembali lalu jalankan perintah Docker tanpa awalan sudo.
docker run hello-world
Topik Tertarik
Topik Dasar Docker
1:Perintah Docker Penting Teratas – Bekerja dengan Kontainer Docker
2:Bekerja dengan Gambar Docker – Membangun Gambar Docker
3:Cara Membuat Gambar Docker dengan DockerFile
Topik Tingkat Lanjut Docker
1:Cara Mengatur Registri Pribadi Docker di CentOS 7
2:Cara Memasang dan Mengonfigurasi Docker Swarm di CentOS 7
Kesimpulan
Itu saja. Saya harap Anda telah mempelajari cara menginstal Docker Engine di Debian 11.