全部产品
Search
文档中心

Elastic Compute Service:Instal dan gunakan Docker dan Docker Compose

更新时间:Sep 30, 2025

Topik ini menjelaskan cara menginstal Docker dan Docker Compose di berbagai distribusi Linux. Anda dapat mengemas aplikasi beserta dependensinya ke dalam kontainer portabel untuk menstandardisasi deployment dan menyederhanakan pengelolaan aplikasi multi-service.

Instal Docker

Alibaba Cloud Linux 3

Untuk mencegah konflik dan masalah kompatibilitas, hapus komponen Docker yang sudah ada terlebih dahulu.

Hapus instalasi Docker versi lama

  1. Hapus Docker versi lama, beserta paket perangkat lunak dan repositori terkait.

    Anda dapat dengan aman mengabaikan pesan "package not installed".
    # Hapus repositori Docker
    sudo rm -f /etc/yum.repos.d/docker*.repo
    # Hapus Docker dan paket perangkat lunak terkait
    sudo dnf -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Penghapusan instalasi Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang ada. Secara default, Docker menyimpan data ini di direktori /var/lib/docker/. Anda harus menghapus direktori ini secara manual untuk menghapus semua data.

  1. Instal Docker Community Edition.

    Jika Anda tidak berada di server Alibaba Cloud, ganti http://mirrors.cloud.aliyuncs.com dengan https://mirrors.aliyun.com.
    # Tambahkan repositori paket Docker
    sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
    sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo
    # Instal plugin kompatibilitas repositori dnf untuk Alibaba Cloud Linux 3
    sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus
    # Instal Docker Community Edition, runtime kontainer containerd.io, dan plugin Docker Buildx dan Compose
    sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Mulai Docker dan aktifkan agar berjalan otomatis saat boot.

    # Mulai Docker
    sudo systemctl start docker
    # Aktifkan Docker agar berjalan otomatis saat boot
    sudo systemctl enable docker

Ubuntu

Untuk mencegah konflik dan masalah kompatibilitas, hapus komponen Docker yang sudah ada terlebih dahulu.

Hapus instalasi Docker versi lama

  1. Hapus Docker versi lama, beserta paket perangkat lunak dan repositori terkait.

    Anda dapat dengan aman mengabaikan pesan "package not installed".
    # Hapus repositori Docker
    sudo rm -f /etc/apt/sources.list.d/*docker*.list
    # Hapus Docker dan paket perangkat lunak terkait
    for pkg in docker.io docker-buildx-plugin docker-ce-cli docker-ce-rootless-extras docker-compose-plugin docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove -y $pkg; done
  2. Penghapusan instalasi Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang ada. Secara default, Docker menyimpan data ini di direktori /var/lib/docker/. Anda harus menghapus direktori ini secara manual untuk menghapus semua data.

  1. Instal Docker Community Edition.

    Jika Anda tidak berada di server Alibaba Cloud, ganti http://mirrors.cloud.aliyuncs.com dengan https://mirrors.aliyun.com.
    # Perbarui indeks paket apt
    sudo apt-get update
    # Tambahkan repositori paket Docker
    sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
    sudo curl -fsSL http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    sudo add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
    # Instal Docker Community Edition, runtime kontainer containerd.io, dan plugin Docker Buildx dan Compose
    sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    
  2. Mulai Docker dan aktifkan agar berjalan otomatis saat boot.

    # Mulai Docker
    sudo systemctl start docker
    # Aktifkan Docker agar berjalan otomatis saat boot
    sudo systemctl enable docker

Debian

Untuk mencegah konflik dan masalah kompatibilitas, hapus komponen Docker yang sudah ada terlebih dahulu.

Hapus instalasi Docker versi lama

  1. Hapus Docker versi lama, beserta paket perangkat lunak dan repositori terkait.

    Anda dapat dengan aman mengabaikan pesan "package not installed".
    # Hapus repositori Docker
    sudo rm -f /etc/apt/sources.list.d/*docker*.list
    # Hapus Docker dan paket perangkat lunak terkait
    for pkg in docker.io docker-buildx-plugin docker-ce-cli docker-ce-rootless-extras docker-compose-plugin docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove -y $pkg; done
  2. Penghapusan instalasi Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang ada. Secara default, Docker menyimpan data ini di direktori /var/lib/docker/. Anda harus menghapus direktori ini secara manual untuk menghapus semua data.

  1. Instal Docker Community Edition.

    Jika Anda tidak berada di server Alibaba Cloud, ganti http://mirrors.cloud.aliyuncs.com dengan https://mirrors.aliyun.com.
    # Perbarui indeks paket apt
    sudo apt-get update
    # Tambahkan repositori paket Docker
    sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
    sudo curl -fsSL http://mirrors.cloud.aliyuncs.com/docker-ce/linux/debian/gpg | sudo apt-key add -
    sudo add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] http://mirrors.cloud.aliyuncs.com/docker-ce/linux/debian $(lsb_release -cs) stable"
    # Instal Docker Community Edition, runtime kontainer containerd.io, dan plugin Docker Buildx dan Compose
    sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Mulai Docker dan aktifkan agar berjalan otomatis saat boot.

    # Mulai Docker
    sudo systemctl start docker
    # Aktifkan Docker agar berjalan otomatis saat boot
    sudo systemctl enable docker

Red Hat

Untuk mencegah konflik dan masalah kompatibilitas, hapus komponen Docker yang sudah ada terlebih dahulu.

Hapus instalasi Docker versi lama

  1. Hapus Docker versi lama, beserta paket perangkat lunak dan repositori terkait.

    Anda dapat dengan aman mengabaikan pesan "package not installed".
    # Hapus sumber terkait Docker
    sudo rm -f /etc/yum.repos.d/docker*.repo
    # Hapus versi lama Docker dan paket terkait
    sudo yum -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Penghapusan instalasi Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang ada. Secara default, Docker menyimpan data ini di direktori /var/lib/docker/. Anda harus menghapus direktori ini secara manual untuk menghapus semua data.

  1. Instal Docker Community Edition.

    Jika Anda tidak berada di server Alibaba Cloud, ganti http://mirrors.cloud.aliyuncs.com dengan https://mirrors.aliyun.com.
    # Tambahkan repositori paket Docker
    sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/rhel/docker-ce.repo
    sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo
    # Instal Docker Community Edition, runtime kontainer containerd.io, dan plugin Docker Buildx dan Compose
    sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Mulai Docker dan aktifkan agar berjalan otomatis saat boot.

    # Mulai Docker
    sudo systemctl start docker
    # Aktifkan Docker agar berjalan otomatis saat boot
    sudo systemctl enable docker

Fedora

Untuk mencegah konflik dan masalah kompatibilitas, hapus komponen Docker yang sudah ada terlebih dahulu.

Hapus instalasi Docker versi lama

  1. Hapus Docker versi lama, beserta paket perangkat lunak dan repositori terkait.

    Anda dapat dengan aman mengabaikan pesan "package not installed".
    # Hapus repositori Docker
    sudo rm -f /etc/yum.repos.d/docker*.repo
    # Hapus Docker dan paket perangkat lunak terkait
    sudo dnf -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Penghapusan instalasi Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang ada. Secara default, Docker menyimpan data ini di direktori /var/lib/docker/. Anda harus menghapus direktori ini secara manual untuk menghapus semua data.

  1. Instal Docker Community Edition.

    Jika Anda tidak berada di server Alibaba Cloud, ganti http://mirrors.cloud.aliyuncs.com dengan https://mirrors.aliyun.com.
    # Tambahkan repositori paket Docker
    sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/fedora/docker-ce.repo
    sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo
    # Instal Docker Community Edition, runtime kontainer containerd.io, dan plugin Docker Buildx dan Compose
    sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Mulai Docker dan aktifkan agar berjalan otomatis saat boot.

    # Mulai Docker
    sudo systemctl start docker
    # Aktifkan Docker agar berjalan otomatis saat boot
    sudo systemctl enable docker

Anolis OS

Untuk mencegah konflik dan masalah kompatibilitas, hapus komponen Docker yang sudah ada terlebih dahulu.

Hapus instalasi Docker versi lama

  1. Hapus Docker versi lama, beserta paket perangkat lunak dan repositori terkait.

    Anda dapat dengan aman mengabaikan pesan "package not installed".
    # Hapus sumber terkait Docker
    sudo rm -f /etc/yum.repos.d/docker*.repo
    # Hapus versi lama Docker dan paket terkait
    sudo yum -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Penghapusan instalasi Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang ada. Secara default, Docker menyimpan data ini di direktori /var/lib/docker/. Anda harus menghapus direktori ini secara manual untuk menghapus semua data.

  1. Instal Docker Community Edition.

    Jika Anda tidak berada di server Alibaba Cloud, ganti http://mirrors.cloud.aliyuncs.com dengan https://mirrors.aliyun.com.
    # Tambahkan repositori paket Docker
    sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
    sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo
    # Instal Docker Community Edition, runtime kontainer containerd.io, dan plugin Docker Buildx dan Compose
    sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Mulai Docker dan aktifkan agar berjalan otomatis saat boot.

    # Mulai Docker
    sudo systemctl start docker
    # Aktifkan Docker agar berjalan otomatis saat boot
    sudo systemctl enable docker

Alibaba Cloud Linux 2

Untuk mencegah konflik dan masalah kompatibilitas, hapus komponen Docker yang sudah ada terlebih dahulu.

Hapus instalasi Docker versi lama

  1. Hapus Docker versi lama, beserta paket perangkat lunak dan repositori terkait.

    Anda dapat dengan aman mengabaikan pesan "package not installed".
    # Hapus sumber terkait Docker
    sudo rm -f /etc/yum.repos.d/docker*.repo
    # Hapus versi lama Docker dan paket terkait
    sudo yum -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Penghapusan instalasi Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang ada. Secara default, Docker menyimpan data ini di direktori /var/lib/docker/. Anda harus menghapus direktori ini secara manual untuk menghapus semua data.

  1. Instal Docker Community Edition.

    Jika Anda tidak berada di server Alibaba Cloud, ganti http://mirrors.cloud.aliyuncs.com dengan https://mirrors.aliyun.com.
    # Tambahkan repositori paket Docker
    sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
    sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo
    # Instal plugin kompatibilitas repositori yum untuk Alibaba Cloud Linux 2
    sudo yum install yum-plugin-releasever-adapter --disablerepo=* --enablerepo=plus
    # Instal Docker Community Edition, runtime kontainer containerd.io, dan plugin Docker Buildx dan Compose
    sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Mulai Docker dan aktifkan agar berjalan otomatis saat boot.

    # Mulai Docker
    sudo systemctl start docker
    # Aktifkan Docker agar berjalan otomatis saat boot
    sudo systemctl enable docker

CentOS 7.x

Untuk mencegah konflik dan masalah kompatibilitas, hapus komponen Docker yang sudah ada terlebih dahulu.

Hapus instalasi Docker versi lama

  1. Hapus Docker versi lama, beserta paket perangkat lunak dan repositori terkait.

    Anda dapat dengan aman mengabaikan pesan "package not installed".
    # Hapus sumber terkait Docker
    sudo rm -f /etc/yum.repos.d/docker*.repo
    # Hapus versi lama Docker dan paket terkait
    sudo yum -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Penghapusan instalasi Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang ada. Secara default, Docker menyimpan data ini di direktori /var/lib/docker/. Anda harus menghapus direktori ini secara manual untuk menghapus semua data.

  1. Instal Docker Community Edition.

    Jika Anda tidak berada di server Alibaba Cloud, ganti http://mirrors.cloud.aliyuncs.com dengan https://mirrors.aliyun.com.
    # Tambahkan repositori paket Docker
    sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
    sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo
    # Instal Docker Community Edition, runtime kontainer containerd.io, dan plugin Docker Buildx dan Compose
    sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Mulai Docker dan aktifkan agar berjalan otomatis saat boot.

    # Mulai Docker
    sudo systemctl start docker
    # Aktifkan Docker agar berjalan otomatis saat boot
    sudo systemctl enable docker

CentOS 8.x

Untuk mencegah konflik dan masalah kompatibilitas, hapus komponen Docker yang sudah ada terlebih dahulu.

Hapus instalasi Docker versi lama

  1. Hapus Docker versi lama, beserta paket perangkat lunak dan repositori terkait.

    Anda dapat dengan aman mengabaikan pesan "package not installed".
    # Hapus repositori Docker
    sudo rm -f /etc/yum.repos.d/docker*.repo
    # Hapus Docker dan paket perangkat lunak terkait
    sudo dnf -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Penghapusan instalasi Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang ada. Secara default, Docker menyimpan data ini di direktori /var/lib/docker/. Anda harus menghapus direktori ini secara manual untuk menghapus semua data.

  1. Instal Docker Community Edition.

    Jika Anda tidak berada di server Alibaba Cloud, ganti http://mirrors.cloud.aliyuncs.com dengan https://mirrors.aliyun.com.
    # Tambahkan repositori paket Docker
    sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
    sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo
    # Instal Docker Community Edition, runtime kontainer containerd.io, dan plugin Docker Buildx dan Compose
    sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Mulai Docker dan aktifkan agar berjalan otomatis saat boot.

    # Mulai Docker
    sudo systemctl start docker
    # Aktifkan Docker agar berjalan otomatis saat boot
    sudo systemctl enable docker

Deploy aplikasi web dengan cepat menggunakan Docker

  1. Buat image aplikasi web.

    # Tarik image Nginx terbaru
    sudo docker pull nginx:latest
    # Buat file Dockerfile berbasis Nginx untuk menampilkan halaman "Hello World!".
    sudo tee Dockerfile <<-'EOF'
    FROM nginx:latest
    RUN echo 'Hello World!' > /usr/share/nginx/html/index.html
    EOF
    # Build image dan beri tag sebagai hello-world:latest
    sudo docker build . -t hello-world:latest
  2. Mulai kontainer bernama hello-world menggunakan image aplikasi web.

    sudo docker run -d -p 80:80 --name hello-world hello-world:latest
  3. Jalankan curl http://localhost untuk memastikan bahwa aplikasi web mengembalikan Hello World! dengan benar.

Instal Docker Compose

Gunakan Docker Compose untuk menentukan dan mengelola aplikasi multi-service dari satu file YAML, terutama saat layanan memiliki dependensi saat proses startup.

Alibaba Cloud Linux, CentOS, Red Hat, Anolis, Fedora

sudo yum -y install docker-compose-plugin

Ubuntu, Debian

sudo apt-get -y install docker-compose-plugin

Deploy aplikasi menggunakan Docker Compose

  1. Buat file orkestrasi bernama docker-compose.yaml.

    # Buat file orkestrasi dan tambahkan layanan MySQL dan WordPress
    sudo tee docker-compose.yaml <<-'EOF'
    version: '3.1'
    
    services:
      wordpress:
        image: wordpress
        restart: always
        ports:
          - "80:80"
        environment:
          # Alamat host database
          WORDPRESS_DB_HOST: wordpress_db
          # Nama pengguna database
          WORDPRESS_DB_USER: wordpress
          # Kata sandi database
          WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD}
          # Nama database
          WORDPRESS_DB_NAME: wordpress
        volumes:
          - wordpress:/var/www/html
    
      db:
        image: mysql:5.7
        restart: always
        container_name: wordpress_db
        environment:
          # Nama database
          MYSQL_DATABASE: wordpress
          # Nama pengguna database
          MYSQL_USER: wordpress
          # Kata sandi database
          MYSQL_PASSWORD: ${WORDPRESS_DB_PASSWORD}
          # Kata sandi root database
          MYSQL_RANDOM_ROOT_PASSWORD: ${WORDPRESS_DB_PASSWORD}
        volumes:
          - db:/var/lib/mysql
    
    volumes:
      wordpress:
      db:
    EOF
  2. Mulai layanan WordPress. Ganti <database_password> di perintah dengan kata sandi database MySQL Anda.

    Perhatikan bahwa perintah Docker Compose menggunakan spasi (docker compose) bukan tanda hubung (docker-compose). Contohnya, docker compose version.
    # Mulai kontainer layanan.
    sudo env "PATH=$PATH" "WORDPRESS_DB_PASSWORD=<database_password>" docker compose -f docker-compose.yaml up -d
  3. Di browser, kunjungi http://<Public_IP_Address_of_your_ECS_instance> untuk mengakses WordPress.

    Pastikan Anda mengizinkan lalu lintas inbound pada port 80 di grup keamanan Anda.

Troubleshooting

Konfigurasikan izin Docker untuk pengguna non-root

Secara default, perintah Docker memerlukan hak akses root (menggunakan sudo). Untuk menjalankan perintah docker tanpa sudo dan mematuhi prinsip hak istimewa minimal, tambahkan pengguna Anda ke grup docker.

  1. Tambahkan pengguna saat ini ke grup docker.

    sudo usermod -aG docker $USER
  2. Jalankan newgrp docker untuk menerapkan perubahan. Setelah itu, Anda dapat menjalankan perintah docker tanpa sudo.

Tidak dapat mengakses http://mirrors.cloud.aliyuncs.com

  • Gejala: Alamat http://mirrors.cloud.aliyuncs.com tidak dapat dijangkau.

  • Penyebab: Jaringan mungkin tidak stabil.

  • Solusi: Ganti http://mirrors.cloud.aliyuncs.com dengan https://mirrors.aliyun.com.

    Untuk menggunakan https://mirrors.aliyun.com, instans Anda harus mengaktifkan Public Bandwidth. Untuk petunjuk, lihat Aktifkan koneksi Internet.

Perintah dnf config-manager gagal

  • Gejala: Saat menjalankan perintah dnf config-manager pada instans Linux, kesalahan berikut muncul:

    /usr/lib/python3/dist-packages/dnf/const.py:22: DeprecationWarning: Paket distutils sudah usang dan akan dihapus di Python 3.12. Gunakan setuptools atau periksa PEP 632 untuk alternatif potensial.
  • Penyebab: Menggunakan paket dnf versi lama.

  • Solusi: Perbarui paket dnf ke versi terbaru dengan sudo dnf update dnf, lalu coba instal docker kembali.

Perintah dnf install docker-ce gagal

  • Gejala: Saat menjalankan perintah dnf -y install docker-ce pada instans Linux, kesalahan berikut muncul:

    (8-9/12): docker-ce-24.0.7-1.el8.x86_64.rpm 38% [================- ] 8.2 MB/s | 38 MB 00:07 ETA
    Paket yang diunduh disimpan dalam cache hingga transaksi berhasil berikutnya.
    Anda dapat menghapus paket yang tersimpan di cache dengan menjalankan 'dnf clean packages'.
    Error: Error mengunduh paket:
    containerd.io-1.6.26-3.1.el8.x86_64: Tidak dapat mengunduh, semua mirror sudah dicoba tanpa keberhasilan.
  • Penyebab: Cache paket perangkat lunak belum terupdate.

  • Solusi: Jalankan sudo dnf clean packages untuk membersihkan cache paket, lalu coba instal docker kembali.

  • Gejala: Saat menjalankan perintah dnf -y install docker-ce pada instans Linux, kesalahan berikut muncul:

    CentOS- Base                                                                                                                         0.0  B/s |   0  B     00:30    
    Kesalahan selama mengunduh metadata untuk repositori 'base':
      - Curl error (6): Tidak dapat menyelesaikan nama host untuk http://mirror.centos.org/os/BaseOS/x86_64/os/repodata/repomd.xml [Could not resolve host: mirror.aliyuncs.com]
      - Curl error (28): Timeout tercapai untuk http://mirror.centos.org/os/BaseOS/x86_64/os/repodata/repomd.xml [Connection timed out after 30000 milliseconds]
      - Curl error (6): Tidak dapat menyelesaikan nama host untuk http://mirror.centos.org/os/BaseOS/x86_64/os/repodata/repomd.xml [Could not resolve host: mirror.cloud.aliyuncs.com]
    Error: Gagal mengunduh metadata untuk repo 'base': Tidak dapat mengunduh repomd.xml: Tidak dapat mengunduh repodata/repomd.xml: Semua mirror sudah dicoba
  • Penyebab: Repositori default CentOS 8 belum terupdate.

  • Solusi: Ikuti langkah-langkah berikut untuk mengganti repositori CentOS 8 versi lama dengan repositori baru yang valid dari Alibaba Cloud.

    # Cadangkan file repositori yang versi lama.
    sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    # Unduh CentOS-Base.repo yang disediakan Alibaba Cloud ke /etc/yum.repos.d/.
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.aliyuncs.com/repo/Centos-vault-8.5.2111.repo
    # Konfigurasikan repositori untuk menggunakan alamat mirror internal untuk instans ECS.
    sudo sed -i 's/mirrors.cloud.aliyuncs.com/url_tmp/g' /etc/yum.repos.d/CentOS-Base.repo && sudo sed -i 's/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/g' /etc/yum.repos.d/CentOS-Base.repo && sudo sed -i 's/url_tmp/mirrors.aliyun.com/g' /etc/yum.repos.d/CentOS-Base.repo
    # Bersihkan cache lama dan buat yang baru.
    sudo yum clean all && sudo yum makecache

    Coba instal docker kembali setelah menyelesaikan langkah-langkah ini.

Referensi