Instal Docker dan Docker Compose pada berbagai distribusi Linux. Kemas aplikasi beserta dependensinya ke dalam container portabel untuk menstandarkan penerapan dan menyederhanakan manajemen layanan multi.
Instal Docker
Alibaba Cloud Linux 4
Sebelum menginstal versi Docker yang baru, uninstal semua komponen Docker yang ada untuk mencegah potensi konflik dan masalah kompatibilitas.
Instal Docker.
Metode yang direkomendasikan:
# Instal runtime Moby sudo yum install -y mobyInstal Docker Community Edition.
Jika Anda tidak menggunakan server Alibaba Cloud, ganti
http://mirrors.cloud.aliyuncs.comdenganhttps://mirrors.aliyun.com.#Tambahkan repositori paket Docker CE 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 #Anda harus memilih versi CentOS yang akan diinstal, misalnya CentOS 9 atau CentOS 10, lalu ganti $releasever dengan nomor versi yang sesuai. # Untuk menggunakan CentOS 9, jalankan: sudo sed -i 's|$releasever|9|' /etc/yum.repos.d/docker-ce.repo # Untuk menggunakan CentOS 10, jalankan: sudo sed -i 's|$releasever|10|' /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 #Catatan: Untuk kembali menggunakan komponen Moby asli yang disediakan oleh Alibaba Cloud Linux 4, pertama-tama hapus komponen docker-ce dan nonaktifkan repositori CentOS. sudo yum remove -y docker-ce docker-ce-cli sudo rm -rf /etc/yum.repos.d/docker-ce.repo
Jalankan Docker dan aktifkan agar berjalan saat boot.
# Jalankan layanan dan aktifkan agar berjalan saat boot sudo systemctl start docker sudo systemctl enable docker # Verifikasi instalasi docker --version # Ini akan menampilkan versi yang terinstal
Moby adalah runtime kontainer default pada sistem ini dan akan terus diperbarui di versi-versi mendatang.
Untuk kompatibilitas ke depan, komponen Docker lama masih dapat digunakan tetapi tidak akan lagi menerima pembaruan.
Alibaba Cloud Linux 3
Sebelum menginstal versi Docker yang baru, uninstal semua komponen Docker yang ada untuk mencegah potensi konflik dan masalah kompatibilitas.
Instal Docker Community Edition.
Jika Anda tidak menggunakan server Alibaba Cloud, ganti
http://mirrors.cloud.aliyuncs.comdenganhttps://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-pluginJalankan Docker dan aktifkan agar berjalan saat boot.
#Jalankan Docker sudo systemctl start docker #Atur daemon Docker agar berjalan otomatis saat sistem boot sudo systemctl enable docker
Ubuntu
Sebelum menginstal versi Docker yang baru, uninstal semua komponen Docker yang ada untuk mencegah potensi konflik dan masalah kompatibilitas.
Instal Docker Community Edition.
Jika Anda tidak menggunakan server Alibaba Cloud, ganti
http://mirrors.cloud.aliyuncs.comdenganhttps://mirrors.aliyun.com#Perbarui tool manajemen paket 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, serta plugin Docker Buildx dan Compose sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginJalankan Docker dan aktifkan agar berjalan saat boot.
#Jalankan Docker sudo systemctl start docker #Atur daemon Docker agar berjalan otomatis saat sistem boot sudo systemctl enable docker
Debian
Sebelum menginstal versi Docker yang baru, uninstal semua komponen Docker yang ada untuk mencegah potensi konflik dan masalah kompatibilitas.
Instal Docker Community Edition.
Jika Anda tidak menggunakan server Alibaba Cloud, ganti
http://mirrors.cloud.aliyuncs.comdenganhttps://mirrors.aliyun.com#Perbarui tool manajemen paket 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, serta plugin Docker Buildx dan Compose sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginJalankan Docker dan aktifkan agar berjalan saat boot.
#Jalankan Docker sudo systemctl start docker #Atur daemon Docker agar berjalan otomatis saat sistem boot sudo systemctl enable docker
Red Hat
Sebelum menginstal versi Docker yang baru, uninstal semua komponen Docker yang ada untuk mencegah potensi konflik dan masalah kompatibilitas.
Instal Docker Community Edition.
Jika Anda tidak menggunakan server Alibaba Cloud, ganti
http://mirrors.cloud.aliyuncs.comdenganhttps://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, serta plugin Docker Buildx dan Compose sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginJalankan Docker dan aktifkan agar berjalan saat boot.
#Jalankan Docker sudo systemctl start docker #Atur daemon Docker agar berjalan otomatis saat sistem boot sudo systemctl enable docker
Fedora
Sebelum menginstal versi Docker yang baru, uninstal semua komponen Docker yang ada untuk mencegah potensi konflik dan masalah kompatibilitas.
Instal Docker Community Edition.
Jika Anda tidak menggunakan server Alibaba Cloud, ganti
http://mirrors.cloud.aliyuncs.comdenganhttps://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, serta plugin Docker Buildx dan Compose sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginJalankan Docker dan aktifkan agar berjalan saat boot.
#Jalankan Docker sudo systemctl start docker #Atur daemon Docker agar berjalan otomatis saat sistem boot sudo systemctl enable docker
Anolis OS
Sebelum menginstal versi Docker yang baru, uninstal semua komponen Docker yang ada untuk mencegah potensi konflik dan masalah kompatibilitas.
Instal Docker Community Edition.
Jika Anda tidak menggunakan server Alibaba Cloud, ganti
http://mirrors.cloud.aliyuncs.comdenganhttps://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, serta plugin Docker Buildx dan Compose sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginJalankan Docker dan aktifkan agar berjalan saat boot.
#Jalankan Docker sudo systemctl start docker #Atur daemon Docker agar berjalan otomatis saat sistem boot sudo systemctl enable docker
Alibaba Cloud Linux 2
Sebelum menginstal versi Docker yang baru, uninstal semua komponen Docker yang ada untuk mencegah potensi konflik dan masalah kompatibilitas.
Instal Docker Community Edition.
Jika Anda tidak menggunakan server Alibaba Cloud, ganti
http://mirrors.cloud.aliyuncs.comdenganhttps://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, serta plugin Docker Buildx dan Compose sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginJalankan Docker dan aktifkan agar berjalan saat boot.
#Jalankan Docker sudo systemctl start docker #Atur daemon Docker agar berjalan otomatis saat sistem boot sudo systemctl enable docker
CentOS 7.x
Sebelum menginstal versi Docker yang baru, uninstal semua komponen Docker yang ada untuk mencegah potensi konflik dan masalah kompatibilitas.
Instal Docker Community Edition.
Jika Anda tidak menggunakan server Alibaba Cloud, ganti
http://mirrors.cloud.aliyuncs.comdenganhttps://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, serta plugin Docker Buildx dan Compose sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginJalankan Docker dan aktifkan agar berjalan saat boot.
#Jalankan Docker sudo systemctl start docker #Atur daemon Docker agar berjalan otomatis saat sistem boot sudo systemctl enable docker
CentOS 8.x
Sebelum menginstal versi Docker yang baru, uninstal semua komponen Docker yang ada untuk mencegah potensi konflik dan masalah kompatibilitas.
Instal Docker Community Edition.
Jika Anda tidak menggunakan server Alibaba Cloud, ganti
http://mirrors.cloud.aliyuncs.comdenganhttps://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, serta plugin Docker Buildx dan Compose sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginJalankan Docker dan aktifkan agar berjalan saat boot.
#Jalankan Docker sudo systemctl start docker #Atur daemon Docker agar berjalan otomatis saat sistem boot sudo systemctl enable docker
Terapkan aplikasi web dengan Docker
Buat gambar aplikasi web.
#Tarik gambar Nginx terbaru sudo docker pull nginx:latest #Buat Dockerfile yang menjadikan Nginx sebagai gambar dasar dan membuat file index.html yang menampilkan "Hello World!" di direktori root server web. sudo tee Dockerfile <<-'EOF' FROM nginx:latest RUN echo 'Hello World!' > /usr/share/nginx/html/index.html EOF #Bangun gambar dan beri nama hello-world sudo docker build . -t hello-world:latestGunakan gambar aplikasi web untuk menjalankan kontainer bernama
hello-world.sudo docker run -d -p 80:80 --name hello-world hello-world:latestJalankan perintah
curl http://localhostuntuk memverifikasi bahwa aplikasi web menampilkanHello World!dengan benar.
Instal Docker Compose
Untuk aplikasi yang terdiri dari beberapa layanan atau memiliki dependensi startup tertentu, gunakan Docker Compose untuk mendefinisikan, menjalankan, dan mengelolanya dari satu file YAML.
Alibaba Cloud Linux, CentOS, Red Hat, Anolis, Fedora
sudo yum -y install docker-compose-pluginUbuntu, Debian
sudo apt-get -y install docker-compose-pluginTerapkan aplikasi dengan Docker Compose
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 pengguna root database MYSQL_RANDOM_ROOT_PASSWORD: ${WORDPRESS_DB_PASSWORD} volumes: - db:/var/lib/mysql volumes: wordpress: db: EOFJalankan layanan WordPress. Ganti
<database_password>dalam perintah dengan password database MySQL Anda.Perhatikan bahwa perintah untuk Docker Compose V2 tidak menggunakan tanda hubung. Misalnya, gunakan
docker compose version.#Jalankan kontainer layanan. sudo env "PATH=$PATH" "WORDPRESS_DB_PASSWORD=<database_password>" docker compose -f docker-compose.yaml up -dDi browser, masukkan
http://<Public_IP_address_of_your_ECS_instance>untuk mengakses WordPress.Pastikan Anda telah menambahkan aturan inbound ke security group Anda untuk mengizinkan traffic pada port
80.
FAQ
Bagaimana cara menjalankan Docker sebagai pengguna non-root?
Secara default, perintah Docker memerlukan hak istimewa root (dieksekusi dengan sudo). Untuk menghindari penggunaan sudo pada setiap perintah dan mengikuti Prinsip Hak Istimewa Minimum, tambahkan pengguna Anda saat ini ke grup docker.
Tambahkan pengguna saat ini ke grup
docker.sudo usermod -aG docker $USERJalankan
newgrp dockeruntuk menerapkan perubahan pada shell Anda saat ini. Anda kemudian dapat menggunakan perintahdockersecara langsung tanpasudo. Agar perubahan bersifat permanen, Anda mungkin perlu logout dan login kembali.
Mengapa http://mirrors.cloud.aliyuncs.com tidak dapat diakses?
Gejala: Alamat
http://mirrors.cloud.aliyuncs.comtidak dapat diakses.Kemungkinan penyebab: Ketidakstabilan jaringan.
Solusi: Ganti
http://mirrors.cloud.aliyuncs.comdenganhttps://mirrors.aliyun.com.Untuk menggunakan
https://mirrors.aliyun.com, instans Anda harus memiliki alamat IP publik. Untuk petunjuknya, lihat Enable Internet access.
Mengapa perintah dnf config-manager gagal?
Gejala: Saat menjalankan
dnf config-managerpada instans Linux, muncul peringatan deprekasi:/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.Kemungkinan penyebab: Versi dnf sudah usang.
Solusi: Perbarui paket
dnfke versi terbaru dengan menjalankansudo dnf update dnf, lalu coba instal Docker lagi.
Mengapa perintah dnf install docker-ce gagal?
Gejala: Saat menjalankan
dnf -y install docker-cepada instans Linux, terjadi error berikut yang menunjukkan kegagalan unduhan:(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.Kemungkinan penyebab: Cache paket sudah usang, sehingga instalasi gagal.
Solusi: Bersihkan cache paket dengan menjalankan
sudo dnf clean packages, lalu coba lagi instalasidocker.Gejala: Saat menjalankan
dnf -y install docker-cepada instans Linux, terjadi error berikut yang menunjukkan kegagalan mengunduh metadata: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 triedKemungkinan penyebab: Anda menggunakan repositori
CentOS 8yang sudah tidak didukung.Solusi: Untuk mengatasi hal ini, ganti repositori
CentOS 8yang tidak didukung dengan repositori yang tersedia dari Alibaba Cloud dengan mengikuti langkah-langkah berikut.# Cadangkan sumber perangkat lunak 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 # Ganti alamat sumber perangkat lunak di sumber Alibaba Cloud dengan alamat yang dapat diakses oleh 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 makecacheSetelah menyelesaikan langkah-langkah ini, coba lagi instalasi
docker.
Referensi
Untuk informasi lebih lanjut tentang penggunaan Docker, lihat dokumentasi resmi Docker.
Artifact Center Alibaba Cloud menyediakan bagi developer gambar kontainer dasar gratis, aman, dan tepercaya dari Alibaba Cloud dan Komunitas OpenAnolis.
Gunakan fitur akselerasi P2P enterprise untuk meningkatkan kecepatan menarik gambar. Untuk petunjuknya, lihat Use P2P acceleration in other container environments.
Konfigurasikan CLI di Docker untuk mengelola sumber daya Alibaba Cloud. Untuk petunjuknya, lihat Run Cloud Assistant CLI in a Docker container.