GNU/Linux >> Belajar Linux >  >> Debian

Cara menginstal dan mengkonfigurasi buruh pelabuhan di Debian 11

Docker adalah platform containerization open source. Ini memungkinkan developer untuk mengemas aplikasi ke dalam container—komponen standar yang dapat dieksekusi yang menggabungkan kode sumber aplikasi dengan library sistem operasi (OS) dan dependensi yang diperlukan untuk menjalankan kode tersebut di lingkungan apa pun.

Docker adalah seperangkat platform sebagai produk layanan yang menggunakan virtualisasi tingkat OS untuk mengirimkan perangkat lunak dalam paket yang disebut kontainer. Kontainer diisolasi satu sama lain dan menggabungkan perangkat lunak, pustaka, dan file konfigurasi mereka sendiri; mereka dapat berkomunikasi satu sama lain melalui saluran yang terdefinisi dengan baik.

Periksa juga tautan ini:

  • Cara Menginstal dan Menggunakan Docker di Ubuntu 20.04
  • Cara menginstal dan mengkonfigurasi buruh pelabuhan Di Centos 8
  • Cara menginstal dan mengkonfigurasi buruh pelabuhan Di Fedora 34/35
  • Memulai Menulis Docker Dengan Contoh
  • Docker sebagai agen build – Jalankan build Jenkins di Docker

Prasyarat

Untuk mengikuti, pastikan Anda memiliki:

  • Sistem Debian 11 terbaru
  • Akses internet dari sistem
  • Akses root atau pengguna dengan akses sudo
  • Pengetahuan tentang terminal Linux

Daftar Isi

  1. Pastikan paket sistem Anda mutakhir
  2. Copot pemasangan versi sebelumnya jika ada
  3. Instal mesin buruh pelabuhan menggunakan repositori
  4. Instal mesin buruh pelabuhan dari sebuah paket
  5. Instal menggunakan skrip praktis
  6. Verifikasi pemasangan
  7. Mengeksekusi Perintah Docker Tanpa Sudo
  8. Mencopot pemasangan buruh pelabuhan saat dibutuhkan lagi

1. Pastikan paket sistem Anda mutakhir

Sebelum melanjutkan, izinkan kami memastikan paket Anda diperbarui

sudo apt update
sudo apt upgrade -y

2. Copot pemasangan versi sebelumnya jika ada

Paket yang menyediakan versi lama Docker adalah dockerdocker.io , atau docker-engine .
Mari kita gunakan perintah ini untuk memastikan bahwa paket-paket ini tidak ada di sistem kita:

sudo apt-get remove docker docker-engine docker.io containerd runc

Tidak masalah jika apt-get melaporkan bahwa tidak ada paket ini yang diinstal.

Menginstal buruh pelabuhan

Anda dapat menginstal Docker Engine dengan berbagai cara, bergantung pada kebutuhan Anda:

  • Anda dapat mengatur repositori buruh pelabuhan dan menginstal buruh pelabuhan menggunakan apt
  • Anda dapat mengunduh paket DEB dan menginstal secara manual
  • Anda dapat memilih untuk menggunakan skrip kemudahan otomatis untuk menginstal Docker

3. Instal mesin buruh pelabuhan menggunakan repositori

Pada Host baru, repositori buruh pelabuhan tidak ada. Untuk pertama kalinya di mesin host baru, Anda perlu menyiapkan repositori Docker. Setelah itu, Anda dapat menginstal dan memperbarui Docker dari repositori.

Mari kita instal paket berikut untuk memungkinkan apt menggunakan repositori melalui HTTPS:

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

Tambahkan kunci GPG resmi Docker:

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

Gunakan perintah berikut untuk mengatur repositori stabil. Untuk menambahkan setiap malam atau uji repositori, tambahkan kata nightly atau test (atau keduanya) setelah kata stable dalam perintah di bawah ini.

echo \
  "deb [arch=$(dpkg --print-architecture) 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 > /dev/null

Instal Mesin Docker

Perbarui indeks paket apt karena kami menambahkan repositori baru:

sudo apt-get update

Sekarang mari kita instal versi terbaru dari Docker Engine dan containerd usi

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

Opsional:Menginstal versi tertentu

Jika Anda memiliki persyaratan yang mengharuskan versi tertentu, Anda dapat melakukannya. Untuk menginstal versi tertentu:
1. Buat daftar versi yang tersedia di repo Anda:

$ sudo apt-cache madison docker-ce
 docker-ce | 5:20.10.9~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable amd64 Packages
 docker-ce | 5:20.10.8~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable amd64 Packages
 docker-ce | 5:20.10.7~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable amd64 Packages
 docker-ce | 5:20.10.6~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable amd64 Packages

Sekarang Anda dapat Menginstal versi tertentu menggunakan string versi dari kolom kedua, misalnya, 5:20.10.7~3-0~debian-bullseye .

sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

Contoh:

sudo apt-get install docker-ce=5:20.10.7~3-0 docker-ce-cli=5:20.10.7~3-0 containerd.io

Setelah instalasi selesai, daemon Docker dimulai secara otomatis.

4. Instal mesin buruh pelabuhan dari sebuah paket

Jika Anda tidak dapat menggunakan repositori Docker untuk menginstal Docker Engine, Anda dapat mengunduh .deb file untuk rilis Anda dan instal secara manual. Anda perlu mengunduh file baru setiap kali ingin memutakhirkan Docker.

Buka https://download.docker.com/linux/debian/dists/, pilih versi Debian Anda – (Bullseye), lalu jelajahi pool/stable/ , pilih amd64armhf , atau arm64 , dan unduh file .deb untuk versi Docker Engine yang ingin Anda instal.

Instal Docker Engine, ubah jalur di bawah ini ke jalur tempat Anda mengunduh paket Docker.

 sudo dpkg -i /path/to/package.deb

Setelah instalasi selesai, daemon Docker dimulai secara otomatis.

5. Instal menggunakan skrip kenyamanan

Docker menyediakan skrip kemudahan di get.docker.com untuk menginstal Docker ke dalam lingkungan pengembangan dengan cepat dan non-interaktif.

Contoh ini mengunduh skrip dari get.docker.com dan menjalankannya untuk menginstal rilis stabil terbaru Docker di Linux:

 curl -fsSL https://get.docker.com -o get-docker.sh
 sudo sh get-docker.sh

6. Verifikasi pemasangan

Setelah instalasi, buruh pelabuhan akan berjalan sebagai daemon. Untuk memeriksa apakah buruh pelabuhan sedang berjalan, kita menggunakan systemctl status docker perintah:

$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-10-19 04:10:32 UTC; 4min 16s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 13456 (dockerd)
      Tasks: 7
     Memory: 39.0M
        CPU: 265ms
     CGroup: /system.slice/docker.service
             └─13456 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Oct 19 04:10:31 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:31.789071579Z" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
Oct 19 04:10:31 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:31.789278242Z" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/container>
Oct 19 04:10:31 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:31.789447226Z" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
Oct 19 04:10:32 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:32.059851510Z" level=info msg="Loading containers: start."
Oct 19 04:10:32 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:32.267528805Z" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemo>
Oct 19 04:10:32 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:32.337295417Z" level=info msg="Loading containers: done."
Oct 19 04:10:32 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:32.363462993Z" level=info msg="Docker daemon" commit=79ea9d3 graphdriver(s)=overlay2 version=20.10.9
Oct 19 04:10:32 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:32.363783617Z" level=info msg="Daemon has completed initialization"

 Active: active (running) menunjukkan bahwa buruh pelabuhan berhasil dimulai.

Kita dapat menjalankan hello-world image untuk menguji apakah buruh pelabuhan berfungsi seperti yang diharapkan:

 sudo docker run hello-world

Perintah ini mengunduh gambar uji dan menjalankannya dalam wadah. Saat container berjalan, container akan mencetak pesan informasi dan keluar.

Saya mendapatkan hasil ini, menunjukkan bahwa ini berfungsi dengan baik:

$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:37a0b92b08d4919615c3ee023f7ddb068d12b8387475d64c622ac30f45c29c51
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

7. Menjalankan Perintah Docker Tanpa Sudo

Secara default, perintah docker hanya dapat dijalankan oleh pengguna root atau oleh pengguna di grup docker, yang secara otomatis dibuat selama proses instalasi Docker. Jika Anda mencoba menjalankan perintah buruh pelabuhan tanpa mengawalinya dengan sudo atau tanpa berada di grup buruh pelabuhan, Anda akan mendapatkan output seperti ini:

$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied

Jika Anda ingin menghindari mengetik sudo setiap kali Anda menjalankan perintah buruh pelabuhan, tambahkan nama pengguna Anda ke grup buruh pelabuhan:

sudo usermod -aG docker ${USER}

Untuk menerapkan keanggotaan grup baru, keluar dari server dan masuk kembali, atau ketik berikut ini:

sudo su - ${USER}

Anda akan diminta memasukkan sandi pengguna untuk melanjutkan.

Konfirmasikan bahwa pengguna Anda sekarang telah ditambahkan ke grup buruh pelabuhan dengan mengetik:

id -nG

Saya melihat ini, mengonfirmasi bahwa saya sekarang termasuk dalam grup buruh pelabuhan

$ id -nG
admin docker

Sekarang saya bisa melakukan buruh pelabuhan tanpa Sudo:
Mari kita uji dengan menjalankan gambar.

$ docker run --rm -it --name alpine --entrypoint /bin/sh alpine:3
Unable to find image 'alpine:3' locally
3: Pulling from library/alpine
a0d0a0d46f8b: Pull complete
Digest: sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a
Status: Downloaded newer image for alpine:3
/ #

Kami telah berhasil menginstal buruh pelabuhan di sistem kami!

8. Menghapus instalasi buruh pelabuhan saat dibutuhkan lagi

Untuk sepenuhnya menghapus mesin buruh pelabuhan dari sistem, kita perlu menghapus instalasi Mesin Docker, CLI, dan paket Containerd:

 sudo apt-get purge docker-ce docker-ce-cli containerd.io -y

Gambar, wadah, volume, atau file konfigurasi khusus di host Anda tidak dihapus secara otomatis. Untuk menghapus semua gambar, wadah, dan volume:

 sudo rm -rf /var/lib/docker
 sudo rm -rf /var/lib/containerd

Anda harus menghapus file konfigurasi yang diedit secara manual.

Kesimpulan

Dalam panduan ini kami berhasil menginstal buruh pelabuhan di sistem Debian 11 kami.


Debian
  1. Cara Menginstal Docker dan Docker Compose di Debian 11

  2. Cara Menginstal dan Mengkonfigurasi Mariadb 10 di Debian 11

  3. Cara menginstal dan mengkonfigurasi MongoDB 5 di Debian 11

  1. Cara Menginstal dan Menggunakan Docker di Debian 9

  2. Cara Menginstal dan Menggunakan Docker Compose di Debian 9

  3. Cara menginstal dan mengkonfigurasi Redis 6 di Debian 11

  1. Cara Menginstal dan Mengkonfigurasi VNC di Debian 9

  2. Cara Menginstal dan Mengonfigurasi Redis di Debian 9

  3. Cara Menginstal dan Mengonfigurasi Nagios di Debian 9