Dalam tutorial ini, Anda akan mempelajari cara menjalankan Nginx sebagai container Docker dan mengeksposnya ke jaringan lokal Anda.
Selain itu, Anda akan mempelajari cara membuat volume data Docker untuk berbagi informasi antara container dan sistem file host.
Nginx adalah perangkat lunak open-source populer yang digunakan untuk melayani web, reverse proxy, caching, load balancing, dll. Ini cukup populer dan digunakan di banyak situs web dengan lalu lintas tinggi saat ini. Salah satu beban kerja Docker yang paling umum adalah menggunakannya untuk menampung server web. Kami akan menunjukkan cara mengaturnya dengan Nginx. Jadi, biarkan kami memandu Anda melalui prosesnya.
Docker adalah platform containerization yang mengemas aplikasi Anda menjadi satu image container yang mudah dikelola.
Prasyarat
Anda harus memenuhi persyaratan berikut untuk menyelesaikan tutorial ini:
- Docker harus diinstal dan dijalankan secara lokal di sistem Anda.
- Anda memerlukan akun root, atau pengguna dapat menjalankan perintah sudo.
Menyiapkan Nginx Di Dalam Docker
Menarik Gambar
Pertama, kita akan menarik gambar resmi Nginx. Jalankan perintah tarik Docker berikut di terminal untuk mendownload gambar terbaru Nginx dari hub Docker di host Docker Anda.
sudo docker pull nginx
Jalankan Nginx Docker Container
Kami siap menjalankan container Nginx Docker dan mengekspos portnya ke jaringan lokal Anda. Untuk melakukan ini, kami menjalankan gambar dengan perintah:
sudo docker run -d -p 80:80 --name my-nginx-server nginx
-d
– Mulai penampung dalam mode terpisah (wadah berjalan di latar belakang).-p
– Mengikat port dari container ke host (merutekan port traffic host 80 ke port container 80).-name
– Nama wadah Docker kami.
Argumen terakhir, nginx
, memberi tahu Docker gambar mana yang akan digunakan untuk container.
Sekarang buka browser dan arahkan ke alamat host tempat Anda menjalankan wadah Nginx Anda. Dalam kasus saya, ini http://192.168.122.101
. Halaman default server web Nginx akan menyambut Anda.
Itu ada. Anda memiliki instance container Nginx Docker yang berfungsi.
Mencantumkan Kontainer Docker
Untuk membuat daftar semua container Docker yang sedang berjalan, jalankan perintah berikut:
sudo docker container ls
Berdasarkan output di atas, kita dapat menghentikan container Nginx Docker dengan salah satu dari dua berikut:
sudo docker stop 19411f8b3f35
sudo docker stop my-nginx-server
Untuk melihat semua penampung, bahkan penampung yang tidak berjalan, Anda perlu menambahkan -a
bendera.
sudo docker container ls -a
Berbagi Data Antara Kontainer Nginx Docker dan Host
Kontainer buruh pelabuhan bersifat sementara. Secara default, semua data yang dibuat di dalam penampung hanya tersedia dari dalam penampung dan hanya saat penampung sedang berjalan.
Jadi, izinkan kami menunjukkan kepada Anda cara membuat data dari dalam wadah dapat diakses di mesin host. Target kami adalah membuat file HTML sederhana, menyimpannya di dalam wadah dan menyajikannya di luar menggunakan wadah Nginx Docker.
Penyiapan ini memungkinkan kami memiliki konten situs web persisten yang dihosting di luar penampung.
Untuk mencapai fungsi ini, kami akan menggunakan fitur pemasangan ikatan di Docker. Saat Anda menggunakan pengikatan pengikatan, file atau direktori di mesin host dipasang ke dalam penampung.
Jadi, pertama-tama mari kita buat direktori baru untuk konten situs web Anda di dalam direktori home.
mkdir ~/www
Sekarang mari kita buat file HTML sederhana dan letakkan beberapa teks di halaman indeks Anda.
vim ~/www/index.html
<html>
<head>
<title>Nginx Docker</title>
</head>
<body>
<h1>My static page.</h1>
</body>
</html>
Silakan salin cuplikan di atas dan tempel di dalamnya. Kemudian, simpan file dan keluar dari Vim.
Selanjutnya kita akan menjalankan container Nginx Docker dengan volume terpasang pada container /usr/share/nginx/html
hingga saat ini di host www
direktori tempat index.html
file disimpan.
docker run -d -p 80:80 -v ~/www:/usr/share/nginx/html/ --name my-nginx-server nginx
Wadah Nginx diatur secara default untuk mencari halaman indeks di /usr/share/nginx/html/
. Pada perintah di atas, -v
opsi mengatur volume pengikatan mount yang menautkan /
direktori dari dalam wadah Nginx Docker ke usr/share/nginx/html/
~/www
direktori pada mesin host.
Docker menggunakan simbol titik dua (:
) untuk memisahkan jalur host dari jalur penampung. Ingat, jalur host selalu didahulukan.
Sekali lagi, jika Anda menelusuri http://192.168.122.101
, Anda akan mendapatkan output yang diberikan di bawah ini di jendela browser.
Itu saja. Anda sekarang memiliki container Nginx Docker yang sedang berjalan yang melayani halaman web kustom.
Kesimpulan
Nginx dan Docker bekerja sama dengan sangat baik. Tutorial ini menunjukkan cara mengatur dan menggunakan wadah Nginx Docker. Anda juga tahu cara berbagi informasi antara wadah dan sistem file host.
Jika ada pertanyaan, silakan tinggalkan komentar Anda.