全部产品
Search
文档中心

Simple Application Server:Deploy Docker secara manual

更新时间:Jan 17, 2026

Docker adalah mesin kontainer aplikasi open source yang menyediakan alat dan layanan untuk mengotomatiskan pengemasan, distribusi, serta eksekusi kontainer. Docker menawarkan berbagai keunggulan, seperti isolasi yang kuat, portabilitas tinggi, dan manajemen yang disederhanakan. Topik ini menjelaskan cara menginstal dan menggunakan Docker serta Docker Compose pada instans Simple Application Server Linux.

Catatan

Persiapan

  • Anda telah membuat instans Simple Application Server Linux. Untuk informasi selengkapnya, lihat Create a Simple Application Server instance.

  • Anda telah menambahkan Port 80 dan 22 ke aturan inbound firewall untuk instans Simple Application Server Linux. Untuk informasi selengkapnya, lihat Set up a firewall.

Deploy Docker

  1. Lakukan koneksi jarak jauh ke instans Simple Application Server. Untuk informasi selengkapnya, lihat Remotely connect to a Linux server.

  2. Deploy Docker berdasarkan sistem operasi server Anda.

    Alibaba Cloud Linux 3

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

    Uninstal versi lama Docker

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

      Anda dapat mengabaikan pesan "package not installed" dengan aman.
      # Hapus repositori Docker
      sudo rm -f /etc/yum.repos.d/docker*.repo
      # Uninstal 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. Menguninstal Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang sudah ada. Secara default, Docker menyimpan data tersebut 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, serta plugin Docker Buildx dan Compose
      sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    2. Jalankan Docker dan aktifkan agar berjalan saat boot.

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

    Ubuntu

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

    Uninstal versi lama Docker

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

      Anda dapat mengabaikan pesan "package not installed" dengan aman.
      # Hapus repositori Docker
      sudo rm -f /etc/apt/sources.list.d/*docker*.list
      # Uninstal 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. Menguninstal Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang sudah ada. Secara default, Docker menyimpan data tersebut 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 perangkat lunak 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, serta plugin Docker Buildx dan Compose
      sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
      
    2. Jalankan Docker dan aktifkan agar berjalan saat boot.

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

    Debian

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

    Uninstal versi lama Docker

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

      Anda dapat mengabaikan pesan "package not installed" dengan aman.
      # Hapus repositori Docker
      sudo rm -f /etc/apt/sources.list.d/*docker*.list
      # Uninstal 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. Menguninstal Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang sudah ada. Secara default, Docker menyimpan data tersebut 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 perangkat lunak 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, serta plugin Docker Buildx dan Compose
      sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    2. Jalankan Docker dan aktifkan agar berjalan saat boot.

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

    Red Hat

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

    Uninstal versi lama Docker

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

      Anda dapat mengabaikan pesan "package not installed" dengan aman.
      # Hapus sumber terkait Docker
      sudo rm -f /etc/yum.repos.d/docker*.repo
      # Uninstal 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. Menguninstal Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang sudah ada. Secara default, Docker menyimpan data tersebut 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 perangkat lunak 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, serta plugin Docker Buildx dan Compose
      sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    2. Jalankan Docker dan aktifkan agar berjalan saat boot.

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

    Fedora

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

    Uninstal versi lama Docker

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

      Anda dapat mengabaikan pesan "package not installed" dengan aman.
      # Hapus repositori Docker
      sudo rm -f /etc/yum.repos.d/docker*.repo
      # Uninstal 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. Menguninstal Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang sudah ada. Secara default, Docker menyimpan data tersebut 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 perangkat lunak 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, serta plugin Docker Buildx dan Compose
      sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    2. Jalankan Docker dan aktifkan agar berjalan saat boot.

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

    Anolis OS

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

    Uninstal versi lama Docker

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

      Anda dapat mengabaikan pesan "package not installed" dengan aman.
      # Hapus sumber terkait Docker
      sudo rm -f /etc/yum.repos.d/docker*.repo
      # Uninstal 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. Menguninstal Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang sudah ada. Secara default, Docker menyimpan data tersebut 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 perangkat lunak 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, serta plugin Docker Buildx dan Compose
      sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    2. Jalankan Docker dan aktifkan agar berjalan saat boot.

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

    Alibaba Cloud Linux 2

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

    Uninstal versi lama Docker

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

      Anda dapat mengabaikan pesan "package not installed" dengan aman.
      # Hapus sumber terkait Docker
      sudo rm -f /etc/yum.repos.d/docker*.repo
      # Uninstal 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. Menguninstal Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang sudah ada. Secara default, Docker menyimpan data tersebut 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 perangkat lunak 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, serta plugin Docker Buildx dan Compose
      sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    2. Jalankan Docker dan aktifkan agar berjalan saat boot.

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

    CentOS 7.x

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

    Uninstal versi lama Docker

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

      Anda dapat mengabaikan pesan "package not installed" dengan aman.
      # Hapus sumber terkait Docker
      sudo rm -f /etc/yum.repos.d/docker*.repo
      # Uninstal 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. Menguninstal Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang sudah ada. Secara default, Docker menyimpan data tersebut 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 perangkat lunak 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, serta plugin Docker Buildx dan Compose
      sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    2. Jalankan Docker dan aktifkan agar berjalan saat boot.

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

    CentOS 8.x

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

    Uninstal versi lama Docker

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

      Anda dapat mengabaikan pesan "package not installed" dengan aman.
      # Hapus repositori Docker
      sudo rm -f /etc/yum.repos.d/docker*.repo
      # Uninstal 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. Menguninstal Docker tidak secara otomatis menghapus image, kontainer, volume, atau jaringan yang sudah ada. Secara default, Docker menyimpan data tersebut 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 perangkat lunak 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, serta plugin Docker Buildx dan Compose
      sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    2. Jalankan Docker dan aktifkan agar berjalan saat boot.

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

Gunakan Docker untuk segera menerapkan aplikasi web

  1. Buat gambar aplikasi web.

    # Tarik gambar Nginx terbaru
    sudo docker pull nginx:latest
    # Buat 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
    # Bangun gambar dan beri tag hello-world:latest
    sudo docker build . -t hello-world:latest
  2. Jalankan kontainer bernama hello-world menggunakan gambar aplikasi web.

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

Instal Docker Compose

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

Gunakan Docker Compose untuk menerapkan aplikasi

  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
          # Username database
          WORDPRESS_DB_USER: wordpress
          # Password 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
          # Username database
          MYSQL_USER: wordpress
          # Password database
          MYSQL_PASSWORD: ${WORDPRESS_DB_PASSWORD}
          # Password root user database
          MYSQL_RANDOM_ROOT_PASSWORD: ${WORDPRESS_DB_PASSWORD}
        volumes:
          - db:/var/lib/mysql
    
    volumes:
      wordpress:
      db:
    EOF
  2. Pada browser, masukkan https://<Alamat IP publik instans Simple Application Server>. Halaman konfigurasi WordPress akan muncul. Konfigurasikan parameter sesuai petunjuk di halaman tersebut untuk mengakses WordPress.

Pemecahan Masalah

Konfigurasikan izin Docker untuk pengguna non-root

Secara default, perintah Docker memerlukan hak istimewa root (menggunakan sudo). Untuk menjalankan perintah docker tanpa sudo dan mematuhi prinsip least privilege, 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 memiliki Public Bandwidth yang diaktifkan. Untuk petunjuknya, lihat Enable an Internet connection.

Perintah dnf config-manager gagal

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

    /usr/lib/python3/dist-packages/dnf/const.py:22: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives.
  • Penyebab: Paket dnf sudah usang.

  • Solusi: Coba perbarui paket dnf ke versi terbaru dengan sudo dnf update dnf, lalu coba instal ulang docker.

Perintah dnf install docker-ce gagal

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

    (8-9/12): docker-ce-24.0.7-1.el8.x86_64.rpm 38% [================- ] 8.2 MB/s | 38 MB 00:07 ETA
    The downloaded packages were saved in cache until the next successful transaction.
    You can remove cached packages by executing 'dnf clean packages'.
    Error: Error downloading packages:
    containerd.io-1.6.26-3.1.el8.x86_64: Cannot download, all mirrors were already tried without success.
  • Penyebab: Cache paket perangkat lunak sudah usang.

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

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

    CentOS- Base                                                                                                                         0.0  B/s |   0  B     00:30    
    Errors during downloading metadata for repository 'base':
      - Curl error (6): Couldn't resolve host name for http://mirror.centos.org/os/BaseOS/x86_64/os/repodata/repomd.xml [Could not resolve host: mirror.aliyuncs.com]
      - Curl error (28): Timeout was reached for http://mirror.centos.org/os/BaseOS/x86_64/os/repodata/repomd.xml [Connection timed out after 30000 milliseconds]
      - Curl error (6): Couldn't resolve host name for http://mirror.centos.org/os/BaseOS/x86_64/os/repodata/repomd.xml [Could not resolve host: mirror.cloud.aliyuncs.com]
    Error: Failed to download metadata for repo 'base': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
  • Penyebab: Repositori CentOS 8 default telah kedaluwarsa.

  • Solusi: Ikuti langkah-langkah berikut untuk mengganti repositori CentOS 8 yang kedaluwarsa dengan repositori valid yang disediakan oleh Alibaba Cloud.

    # Cadangkan file repositori yang kedaluwarsa.
    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 agar 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 cache baru.
    sudo yum clean all && sudo yum makecache

    Coba instal ulang docker setelah menyelesaikan langkah-langkah ini.

Referensi