Cara Menginstal Apache di Docker Container di Linux
Jika Anda adalah administrator sistem Linux yang memberikan dukungan untuk pengembang, kemungkinan besar Anda pernah mendengar tentang Docker. Jika belum, solusi perangkat lunak ini akan membuat hidup Anda lebih mudah mulai hari ini dengan membantu Anda mengurangi biaya pengoperasian dan mempercepat penerapan – serta manfaat lainnya.
Tapi itu bukan sihir. Docker sebagai platform memanfaatkan container – paket aplikasi beserta semua alat yang diperlukan untuk dijalankan untuk menghilangkan perbedaan antar lingkungan.
Dengan kata lain, perangkat lunak dalam container akan beroperasi dan dapat dikelola secara konsisten di mana pun perangkat lunak tersebut diinstal. Selain itu, container jauh lebih mudah untuk disiapkan, dimulai, dihentikan, dan dipelihara dibandingkan mesin virtual lama yang bagus.
Jika Anda tertarik untuk mengetahui lebih banyak tentang perbedaan antara kedua teknologi ini, situs resmi Docker memberikan penjelasan yang bagus.
Sebagai ilustrasi, dalam artikel ini kami akan menjelaskan cara menginstal Docker di CentOS/RHEL, Rocky/Alma Linux, dan Debian/ Ubuntu, dan jalankan container Apache 2.4 dari Docker Hub.
Kami kemudian akan menggunakannya untuk menyajikan halaman web sederhana dari direktori home kami – semuanya tanpa perlu menginstal server web di host kami.
Menginstal Docker di Linux
Untuk memulai, mari instal Docker menggunakan perintah curl berikut. Ini akan mengunduh dan menjalankan skrip shell yang akan menambahkan repositori Docker ke sistem kami dan menginstal paketnya.
curl -fsSL https://get.docker.com | sh
Selanjutnya, gunakan perintah systemctl untuk memulai layanan Docker utama, mengaktifkannya untuk memulai saat reboot, dan memeriksa statusnya.
systemctl start docker
systemctl enable docker
systemctl status docker
Pada titik ini, kita cukup mengeksekusi.
docker
untuk melihat daftar perintah yang tersedia atau untuk mendapatkan bantuan.
docker COMMAND --help
docker ps --help
akan memberi tahu kami cara membuat daftar container yang ada di sistem kami
docker run --help
akan mencetak semua opsi yang dapat kita gunakan untuk memanipulasi wadah.
Menyiapkan Kontainer Apache
Salah satu hal menakjubkan tentang ekosistem Docker adalah terdapat puluhan container standar yang dapat Anda unduh dan gunakan dengan mudah.
Dalam contoh berikut, kita akan membuat instance container Apache 2.4 bernama tecmint-web, yang terlepas dari terminal saat ini. Kami akan menggunakan gambar bernama httpd:2.4 dari Docker Hub.
Rencana kami adalah agar permintaan yang dibuat ke alamat IP publik kami di port 8080 dialihkan ke port 80 pada kontainer. Selain itu, daripada menyajikan konten dari penampung itu sendiri, kami akan menyajikan laman web sederhana dari /home/user/website.
Kita melakukan ini dengan memetakan /home/user/website/ pada /usr/local/apache2/htdocs/ pada container. Perhatikan bahwa Anda perlu menggunakan sudo atau login sebagai root untuk melanjutkan, dan jangan hilangkan garis miring di akhir setiap direktori.
sudo docker run -dit --name tecmint-web -p 8080:80 -v /home/user/website/:/usr/local/apache2/htdocs/ httpd:2.4
Pada titik ini, container Apache kita seharusnya sudah aktif dan berjalan.
sudo docker ps
Sekarang mari kita buat halaman web sederhana bernama docker.html di dalam direktori /home/user/website.
vi /home/user/website/docker.html
Tambahkan contoh konten HTML berikut ke file.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Learn Docker at linux-console.net</title>
</head>
<body>
<h1>Learn Docker With Us</h1>
</body>
</html>
Selanjutnya, arahkan browser Anda ke Server-IP:8080/docker.html (dengan Server-IP adalah alamat IP publik host Anda). Anda harus disajikan dengan halaman yang kami buat sebelumnya.
Jika mau, Anda sekarang dapat menghentikan penampung tersebut.
sudo docker stop tecmint-web
dan menghapusnya:
sudo docker rm tecmint-web
Untuk menyelesaikan pembersihan, Anda mungkin ingin menghapus gambar yang digunakan dalam penampung (hilangkan langkah ini jika Anda berencana segera membuat penampung Apache 2.4 lainnya).
sudo docker image remove httpd:2.4
Perhatikan bahwa dalam semua langkah di atas kami tidak perlu menginstal server web di host kami.
Ringkasan
Dalam artikel ini, kami menjelaskan cara menginstal Docker dan memanipulasi container. Sayangnya, ini hanyalah dasar-dasarnya – ada seluruh kursus, buku, dan ujian sertifikasi yang membahas Dockers (dan container secara umum) secara lebih mendalam.
Jika Anda ingin mempelajari lebih lanjut tentang Docker, kami telah membahas seri 3 artikel, yang menjelaskan cara menginstal Docker, menjalankan aplikasi ke dalam container, dan secara otomatis membuat image docker dengan dockerfile.
- Instal Docker dan Pelajari Manipulasi Kontainer Dasar di CentOS dan RHEL
- Cara Men-deploy dan Menjalankan Aplikasi ke dalam Docker Container di CentOS/RHEL
- Secara Otomatis Membangun dan Mengonfigurasi Gambar Docker dengan Dockerfile di CentOS/RHEL
- Cara Menghapus Gambar, Kontainer, dan Volume Docker
Anggap ini sebagai titik awal Anda dan beri tahu kami jika Anda memiliki pertanyaan atau komentar – kami menantikan tanggapan Anda!