Untuk container Docker, Alpine Linux adalah pilihan optimal karena ringan, konsumsi RAM rendah, dan optimalisasi. Namun, bagaimanapun Ubuntu adalah yang terbaik.
Alpine Linux adalah sistem operasi Linux sumber terbuka dan gratis untuk router, firewall, VPN, komputer VoIP, server, engine virtual, dan kontainer. Ini memiliki fitur keamanan proaktif yang mencegah lubang keamanan di perangkat lunak dieksploitasi. Distribusi Linux kecil dan ringan berdasarkan musl libc dan busybox.
Steps to install Docker on Alpine Linux
Saya tidak akan berbicara banyak tentang Docker di sini karena jika Anda membaca tutorial ini maka Anda pasti sudah tahu apa itu. Singkatnya, Docker adalah platform Virtualisasi kemas yang memungkinkan menjalankan engine virtual yang berbeda dalam bentuk wadah yang terisolasi. Hal terbaik tentang itu, ringan dan mudah ditangani; seseorang cukup menarik gambar Linux atau aplikasi yang ada untuk menyiapkan wadah dari hub.docker.com.
Step 1: Download and Setup Alpine Linux
Jika Anda sudah memiliki Alpine Linux yang berfungsi maka cukup lanjutkan ke langkah berikutnya dan jika tidak, buka tautan ini dan unduh salah satunya. Alpine Linux tersedia dalam berbagai bentuk seperti Standar, Diperpanjang dengan beberapa paket tambahan, Net-install, gambar ISO Virtual yang Dioptimalkan, untuk Xen dengan dukungan bawaan untuk Xen Hypervisor dan dalam sistem file root Minimal untuk wadah. Anda dapat mengunduhnya sesuai pilihan Anda, namun, di sini kita menggunakan Alpine Linux Extended versi 3.11.
Setelah mengunduh, boot PC atau VirtualBox Anda dengannya dan jalankan perintah
setup-alpine
untuk mengikuti langkah-langkah instalasi.
Step 2: Command to install Docker on Alpine
Jalankan satu perintah berikut untuk mengambil paket Docker untuk instalasinya di Alpine.
apk add docker
Step 3: Apk add fails with unsatisfiable constraints error
Memetikan setelah menjalankan perintah di atas Anda mendapatkan error “
apk add fails with unsatisfiable constraints
” maka kita harus menambahkan repositori berikut ke Alpine.
Edit file repositori Alpine:
vi /etc/apk/repositories
Lalu tekan
Insert
tombol pada keyboard dan tambahkan baris berikut di file.
http://dl-cdn.alpinelinux.org/alpine/latest-stable/community
Untuk menyimpan dan keluar, tekan pertama
Esc
lalu ketik
:wq
setelah itu tekan tombol
Enter
tombol.
Setelah Anda selesai, jalankan perintah pembaruan paket untuk memberi tahu sistem tentang repositori yang diperbarui, sehingga dapat mengindeks hal yang sama.
apk update
Step 4: Add Docker service to the system boot level
Untuk memastikan service Docker dimulai secara otomatis setiap saat bersamaan dengan boot Alpine, kita harus menambahkannya ke service sistem kita.
rc-update add docker boot
Now, we can start the Docker service
service docker start
Step 5: Install Docker Compose
Users those also want the Docker Compose on Alpine, first, they have to install pip.
apk add py-pip
Few dev dependencies
apk add python-dev libffi-dev openssl-dev gcc libc-dev make
Finally, run command to install docker-compose
pip install docker-compose
Step 6: Isolate containers with a user namespace
adduser -SDHs /sbin/nologin dockremap addgroup -S dockremap echo dockremap:$(cat /etc/passwd|grep dockremap|cut -d: -f3):65536 >> /etc/subuid echo dockremap:$(cat /etc/passwd|grep dockremap|cut -d: -f4):65536 >> /etc/subgid
Step 7: Now, check your install Docker
Gunakan perintah di bawah ini untuk memeriksa informasi versi Docker yang diinstal.
docker info
Step 8 Pull Docker image on Alpine
Untuk mengetahui semuanya bekerja dengan baik, mari kita ambil gambar hello-world
docker pull hello-world
To run the image:
docker run -t hello-world
Additional: Errors we encountered while setting it up
1
: respons error dari daemon https //registry-1.docker.io/v2/ waktu habis
Kita mendapatkan error di atas karena di resolv.conf Alpine server nama tidak dikonfigurasi dengan benar, jadi kita mengeditnya:
vi /etc/resolv.conf
And added the following nameservers:
nameserver 8.8.8.8 nameserver 8.8.4.4
2.
Setelah menginstal Alpine, jaringan tidak dapat dijangkau, jadi kita mengedit:
vi /etc/network/interfaces
Dan ditambahkan sebagai berikut:
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp
Dengan cara ini, kita dapat menggunakan Alpine Linux untuk Docker yang ringan ini yang menjalankan engine virtual kemas.