# 2. Instal Docker

[![image.png](https://www.32inside.com/uploads/images/gallery/2026-04/scaled-1680-/N3Vimage.png)](https://www.32inside.com/uploads/images/gallery/2026-04/N3Vimage.png)


#### **Instal Docker dengan manual command Ubuntu 22.04 LTS**

##### 1. Remove docker package untuk memastikan tidak ada bekas instalasi lama supaya clean instal.

```bash
sudo apt-get remove docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc -y
```

##### 2. Update repository agar mendapatkan package terbaru

```bash
sudo apt-get update -y
```

##### 3. Tambahkan repository untuk docker

- Install dependensi awal 
    - ```bash
        sudo apt-get install ca-certificates curl -y
        ```
        
        **Fungsi**:
        
        
        - - Menginstal paket `ca-certificates` dan `curl`.
                
                
                - `ca-certificates`: Dibutuhkan agar sistem bisa memverifikasi sertifikat SSL (HTTPS) saat mengunduh dari internet.
                - `curl`: Digunakan untuk mengambil file dari internet (misalnya GPG key Docker).
            - `-y`: Otomatis menjawab "yes" untuk konfirmasi instalasi.
                
                
                - Menginstal paket `ca-certificates` dan `curl`.
                    
                    
                    - `ca-certificates`: Dibutuhkan agar sistem bisa memverifikasi sertifikat SSL (HTTPS) saat mengunduh dari internet.
                    - `curl`: Digunakan untuk mengambil file dari internet (misalnya GPG key Docker).
                - `-y`: Otomatis menjawab "yes" untuk konfirmasi instalasi.
        
        
        - Menginstal paket `ca-certificates` dan `curl`.
            
            
            - `ca-certificates`: Dibutuhkan agar sistem bisa memverifikasi sertifikat SSL (HTTPS) saat mengunduh dari internet.
            - `curl`: Digunakan untuk mengambil file dari internet (misalnya GPG key Docker).
        - `-y`: Otomatis menjawab "yes" untuk konfirmasi instalasi.
- Membuat direktori untuk menyimpan keyring Docker 
    - ```
        sudo install -m 0755 -d /etc/apt/keyrings
        ```
        
        
        - Membuat folder `/etc/apt/keyrings` dengan permission `0755` (rwxr-xr-x).
        - Folder ini digunakan untuk menyimpan **GPG key** Docker agar lebih aman dan terpisah dari keyring global APT.

- Mengunduh GPG key Docker 
    - ```bash
        sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
        ```
        
        
        - - Mengambil **GPG key Docker** dari situs resminya, lalu menyimpannya sebagai file `docker.asc` di `/etc/apt/keyrings`.
            - Opsi:
                
                
                - `-f`: Fail silently (jika gagal, tidak menampilkan output).
                - `-s`: Silent mode.
                - `-S`: Tampilkan error kalau gagal.
                - `-L`: Ikuti redirect.
            
            GPG key ini digunakan oleh `apt` untuk **memverifikasi keaslian paket Docker**.
- Mengatur hak akses file key agar bisa dibaca 
    - ```bash
        sudo chmod a+r /etc/apt/keyrings/docker.asc
        ```
        
        
        - Memberikan permission **read untuk semua user** terhadap file `docker.asc`.
        - Diperlukan agar APT bisa membaca GPG key saat mengakses repo Docker.
- Menambahkan repository Docker ke daftar APT 
    - ```
        sudo echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable"
        ```
        
        
        - Menampilkan (bukan menyimpan) baris repository Docker APT.
        - Formatnya:
            
            
            - ```bash
                deb [arch=arsitektur signed-by=lokasi-key] URL-docker DISTRO stable
                ```
            - Variabel:
                
                
                - `$(dpkg --print-architecture)`: Menyesuaikan arsitektur sistem (misalnya `amd64`, `arm64`, dll).
                - `$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")`: Mengambil nama kode Ubuntu seperti `jammy`, `focal`, dll.
- Membuat file repo Docker  
    
    - ```bash
        sudo vim /etc/apt/sources.list.d/docker.list
        ```
        
        
        - Membuka editor `vim` dengan hak akses root untuk membuat atau mengedit file `docker.list` yang akan berisi URL repository Docker.
        - File ini akan berisi **output dari langkah sebelumnya**, misalnya:
            
            
            - ```bash
                deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu jammy stable
                ```
- Update repository agar repository docker yang baru di buat terdaftar 
    - ```bash
        sudo apt-get update -y
        ```
        
        
        - Mengunduh ulang daftar paket dari semua repo yang terdaftar di sistem, termasuk repo Docker yang baru ditambahkan.
        - `-y` memastikan proses berjalan otomatis tanpa konfirmasi.

##### 4. Menginstal Docker

- ```
    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
    ```
    
    
    - Menginstal komponen-komponen utama Docker:
        
        <div class="_tableContainer_80l1q_1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1958" data-start="1547"><thead data-end="1565" data-start="1547"><tr data-end="1565" data-start="1547"><th data-col-size="sm" data-end="1555" data-start="1547">Paket</th><th data-col-size="md" data-end="1565" data-start="1555">Fungsi</th></tr></thead><tbody data-end="1958" data-start="1585"><tr data-end="1634" data-start="1585"><td data-col-size="sm" data-end="1599" data-start="1585">`docker-ce`</td><td data-col-size="md" data-end="1634" data-start="1599">Docker Engine Community Edition</td></tr><tr data-end="1692" data-start="1635"><td data-col-size="sm" data-end="1653" data-start="1635">`docker-ce-cli`</td><td data-col-size="md" data-end="1692" data-start="1653">Command Line Interface untuk Docker</td></tr><tr data-end="1774" data-start="1693"><td data-col-size="sm" data-end="1711" data-start="1693">`containerd.io`</td><td data-col-size="md" data-end="1774" data-start="1711">Runtime untuk menjalankan container (digunakan oleh Docker)</td></tr><tr data-end="1865" data-start="1775"><td data-col-size="sm" data-end="1800" data-start="1775">`docker-buildx-plugin`</td><td data-col-size="md" data-end="1865" data-start="1800">Plugin untuk `docker buildx` (mendukung build multi-platform)</td></tr><tr data-end="1958" data-start="1866"><td data-col-size="sm" data-end="1892" data-start="1866">`docker-compose-plugin`</td><td data-col-size="md" data-end="1958" data-start="1892">Plugin untuk menjalankan `docker compose` (v2, bukan yang pip)</td></tr></tbody></table>
        
        </div></div>Tunggu sampai instalasi selesai.

##### 5. Cek status instalasi docker

```
sudo systemctl status docker
sudo docker --version
sudo docker ps
```

##### 6. Kalau ingin Docker bisa dijalankan tanpa `sudo`, tambahkan user ke grup `docker`:

- ```bash
    sudo usermod -aG docker $USER
    ```

---

#### **Instal Docker dengan bash script di Ubuntu 22.04 LTS**

##### 1. Buat file instal-docker.sh

```bash
vim instal-docker.sh
```

Setelah masuk vim, tekan **i** untuk edit.

Isi script berikut :

```bash
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do apt-get remove $pkg; done
apt-get update
apt-get install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update -y
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

```

##### 2. Save dengan klik **esc**, tekan titik dua **:** , kemudian **wq!**, enter.

```
:wq!
```

##### 3. Set permissions file **instal-docker.sh** supaya executable

```
chmod +x instal-docker.sh
```

##### 4. Jalankan bash script **instal-docker.sh**

```
sudo bash instal-docker.sh
```

Tunggu sampai proses instalasi selesai

##### 5. Cek status instalasi docker

```
sudo systemctl status docker
sudo docker --version
sudo docker ps
```

##### 6. Kalau ingin Docker bisa dijalankan tanpa `sudo`, tambahkan user ke grup `docker`:

- ```bash
    sudo usermod -aG docker $USER
    ```