Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save phalconyx/5acc11c63a7ac86fd6f03c1d8c416e55 to your computer and use it in GitHub Desktop.

Select an option

Save phalconyx/5acc11c63a7ac86fd6f03c1d8c416e55 to your computer and use it in GitHub Desktop.
Cara install docker di Raspberry Pi OS

Instalasi Docker di Raspberry Pi OS Lite 64-bit

Panduan ini menjelaskan cara menginstal Docker Engine dan Docker Compose v2 pada Raspberry Pi OS Lite 64-bit menggunakan repository resmi Docker untuk Debian ARM64.

1. Pastikan sistem menggunakan arsitektur 64-bit

Jalankan:

uname -m
cat /etc/os-release

Untuk Raspberry Pi OS Lite 64-bit, hasil arsitektur ideal adalah:

aarch64

Informasi versi Debian dan codename juga akan muncul pada /etc/os-release.

2. Perbarui sistem

sudo apt update
sudo apt upgrade -y

3. Hapus paket Docker lama jika ada

Untuk menghindari konflik dengan paket Docker dari repository Debian:

sudo apt remove -y docker.io docker-compose docker-doc podman-docker containerd runc

Tidak masalah jika beberapa paket tersebut belum terpasang.

4. Instal dependensi dasar

sudo apt install -y ca-certificates curl

Buat direktori untuk menyimpan key repository:

sudo install -m 0755 -d /etc/apt/keyrings

Unduh GPG key resmi Docker:

sudo curl -fsSL https://download.docker.com/linux/debian/gpg \
  -o /etc/apt/keyrings/docker.asc

Atur permission agar key dapat dibaca oleh APT:

sudo chmod a+r /etc/apt/keyrings/docker.asc

5. Tambahkan repository resmi Docker

Jalankan:

sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

Kemudian perbarui daftar paket:

sudo apt update

6. Instal Docker Engine dan Docker Compose

sudo apt install -y \
  docker-ce \
  docker-ce-cli \
  containerd.io \
  docker-buildx-plugin \
  docker-compose-plugin

Paket tersebut memasang:

Docker Engine
Docker CLI
containerd
Docker Buildx
Docker Compose v2

7. Aktifkan Docker

Aktifkan Docker agar otomatis berjalan saat Raspberry Pi dinyalakan:

sudo systemctl enable --now docker

Cek status:

sudo systemctl status docker

Jika berhasil, status akan menunjukkan:

Active: active (running)

Tekan q untuk keluar dari tampilan status.

8. Tes instalasi Docker

Jalankan container pengujian resmi Docker:

sudo docker run hello-world

Jika instalasi berhasil, akan muncul:

Hello from Docker!

9. Jalankan Docker tanpa sudo

Secara default, Docker membutuhkan akses root. Agar user saat ini dapat menjalankan Docker tanpa sudo, tambahkan user ke grup docker:

sudo usermod -aG docker $USER

Aktifkan perubahan grup pada sesi saat ini:

newgrp docker

Kemudian tes:

docker ps

dan:

docker run hello-world

Jika berhasil, Docker sudah dapat digunakan tanpa sudo.

Catatan keamanan: anggota grup docker pada praktiknya memiliki hak akses setara root pada sistem. Hanya tambahkan akun yang memang dipercaya ke grup ini.

10. Pastikan Docker Compose tersedia

Cek versi Docker Compose:

docker compose version

Docker Compose modern menggunakan sintaks:

docker compose

bukan:

docker-compose

Contoh menjalankan service:

docker compose up -d

Menghentikan service:

docker compose down

11. Verifikasi instalasi

Cek versi Docker:

docker --version

Cek Docker Compose:

docker compose version

Cek informasi Docker Engine:

docker info

Cek container yang sedang berjalan:

docker ps

Cek semua container:

docker ps -a

Perintah dasar Docker

Melihat image:

docker images

Mengunduh image:

docker pull nginx

Menjalankan container:

docker run -d --name nginx -p 8080:80 nginx

Melihat container:

docker ps

Menghentikan container:

docker stop nginx

Menjalankan kembali container:

docker start nginx

Menghapus container:

docker rm nginx

Menghapus image:

docker rmi nginx

Update Docker

Docker dapat diperbarui bersama paket sistem:

sudo apt update
sudo apt upgrade -y

Referensi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment