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.
Instal Docker Community Edition.
Jika Anda tidak berada di 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, dan plugin Docker Buildx dan Compose sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginMulai 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.
Instal Docker Community Edition.
Jika Anda tidak berada di server Alibaba Cloud, ganti
http://mirrors.cloud.aliyuncs.comdenganhttps://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-pluginMulai 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.
Instal Docker Community Edition.
Jika Anda tidak berada di server Alibaba Cloud, ganti
http://mirrors.cloud.aliyuncs.comdenganhttps://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-pluginMulai 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.
Instal Docker Community Edition.
Jika Anda tidak berada di 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, dan plugin Docker Buildx dan Compose sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginMulai 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.
Instal Docker Community Edition.
Jika Anda tidak berada di 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, dan plugin Docker Buildx dan Compose sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginMulai 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.
Instal Docker Community Edition.
Jika Anda tidak berada di 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, dan plugin Docker Buildx dan Compose sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginMulai 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.
Instal Docker Community Edition.
Jika Anda tidak berada di 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, dan plugin Docker Buildx dan Compose sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginMulai 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.
Instal Docker Community Edition.
Jika Anda tidak berada di 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, dan plugin Docker Buildx dan Compose sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginMulai 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.
Instal Docker Community Edition.
Jika Anda tidak berada di 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, dan plugin Docker Buildx dan Compose sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginMulai 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
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:latestMulai kontainer bernama
hello-worldmenggunakan image aplikasi web.sudo docker run -d -p 80:80 --name hello-world hello-world:latestJalankan
curl http://localhostuntuk memastikan bahwa aplikasi web mengembalikanHello 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-pluginUbuntu, Debian
sudo apt-get -y install docker-compose-pluginDeploy aplikasi menggunakan 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 # 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: EOFMulai 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 -dDi browser, kunjungi
http://<Public_IP_Address_of_your_ECS_instance>untuk mengakses WordPress.Pastikan Anda mengizinkan lalu lintas inbound pada port
80di grup keamanan Anda.
Troubleshooting
Konfigurasikan izin Docker untuk pengguna non-root
Tidak dapat mengakses http://mirrors.cloud.aliyuncs.com
Perintah dnf config-manager gagal
Perintah dnf install docker-ce gagal
Referensi
Untuk informasi lebih lanjut tentang penggunaan Docker, lihat dokumentasi resmi Docker.
Artifact Center Alibaba Cloud menyediakan image kontainer dasar gratis, aman, dan tepercaya dari Alibaba Cloud dan Komunitas OpenAnolis.
Percepat penarikan image dengan fitur akselerasi P2P perusahaan. Untuk informasi selengkapnya, lihat Gunakan akselerasi P2P di lingkungan kontainer lain.
Kelola sumber daya Alibaba Cloud Anda dengan menjalankan Alibaba Cloud CLI di dalam kontainer Docker. Untuk informasi selengkapnya, lihat Jalankan Cloud Assistant CLI di dalam kontainer Docker.