Lompat ke konten
Home » MengInstal dan Menggunakan Docker dengan Nginx pada Ubuntu server anda

MengInstal dan Menggunakan Docker dengan Nginx pada Ubuntu server anda

Docker adalah platform aplikasi berbasis container. Dengan Docker anda dapat menjalankan aplikasi anda secara virtual tanpa menginstal aplikasi tersebut secara langsung pada Operating System anda. Dengan Docker anda dapat melakukan standardisasi Operating System aplikasi anda yang akan berjalan pada Docker Container. Sehingga Docker Container tidak terikat pada Operating System yang anda gunakan sekarang untuk pengembangan. Memudahkan developer untuk memindahkan Development Environment melalui Docker Container, tanpa harus menyamai spesifikasi Operating System anda saat ini. Karena informasi Operating System akan disesuaikan oleh Docker Container secara langsung.

Jika anda menggunakan Docker, anda tidak perlu meng-install aplikasi pemrograman secara langsung seperti PHP, MySQL, Node, dan lainnya. Anda hanya perlu menggunakan Docker, dan memasang Docker Image dari masing-masing bahasa pemrograman tersebut. Docker Image akan berjalan pada Docker Engine, tanpa mengutak atik Operating System anda secara langsung.

Mengakses Docker Seecara Langsung Melalui Application Port

Gambaran di atas adalah gambaran bagaimana aplikasi Docker Engine jika berjalan pada Server anda. Container akan berjalan secara langsung tanpa harus membutuhkan dependensi dari Server anda secara langsung. Anda dapat mengakses aplikasi yang berada pada Docker Container menggunakan Application Port yang dapat diakses oleh pengguna, untuk mengakses aplikasi yang ada di dalamnya.

Oke, setelah mengetahui penjelasan mengenai Docker. Marilah kita memulai untuk meng-install aplikasi Docker pada Server anda. Tahapan untuk meng-install Docker pada server anda yaitu, instalasi Docker Engine, implementasi Docker Container menggunakan Nginx, dan instalasi Docker Compose.

1. Instalasi Docker Engine

Docker Engine adalah mesin utama untuk menjalankan Docker Container anda. Jadi ini adalah engine dasar yang anda butuhkan untuk menjalankan suatu Docker Container. Untuk instalasi Docker Engine pada server Ubuntu anda. Anda membutuhkan root privillege. Pertama-tama install dependensi yang diperlukan untuk mengunduh dan meng-install Docker dari official repositorynya :

sudo apt-get update

sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

Fungsi perintah di atas adalah agar Ubuntu anda dapat meng-install Docker dari repository official melalui HTTPS.
Kemudian tambahkan official GPG Key Docker pada Ubuntu anda :

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Kemudian tambahkan Docker ke APT Source List Ubuntu anda :

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Kemudian install Docker Engine menggunakan perintah :

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Setelah itu lakukan validasi apakah Docker anda telah berhasil ter-install dengan menjalankan Docker Image hello world.

sudo docker run hello-world

Jika tampilan yang akan muncul adalah seperti di bawah ini, maka instalasi Docker anda berhasil

Docker Container Hello World

Setelah langkah ini, marilah kita coba untuk menjalankan sebuah Docker Container yang akan kita Proxy menggunakan Nginx.

2. Implementasi Docker Container menggunakan Nginx

Untuk contoh kali ini, kita akan menggunakan Docker Image dari trafex/php-nginx. Docker Image ini adalah rancangan sebuah Container aplikasi anda. Pada contoh kali ini, Docker Image dapat berfungsi sebagai PHP dan Nginx yang berjalan pada Alphine Linux. Mari kita coba saja cara instalasi dan konfigurasi Container ini.
Buat container PHP Nginx Trafex dengan :

docker container run -p 8000:8080 trafex/php-nginx -d

Setelah anda berhasil menjalankan perintah tersebut. Artinya Docker Container anda telah berjalan pada Port 8000 di server anda.
Namun ingat, demi keamanan server kita. Kita hanya membuka port 22, 80, dan 443. Oleh karena itu untuk mengatasi hal ini, kita membutuhkan Nginx untuk melakukan proxy dari port localhost:8000 ke sebuah domain yang telah kita registrasi sebelumnya.
Buat berkas baru pada server block Nginx dengan :

nano /etc/nginx/sites-available/port8000.namadomainanda.com

Masukkan kode server block Nginx. Jangan lupa sesuaikan nama domain anda, dan port yang anda gunakan.

server{
	listen 80;
	server_name namadomainanda.com;
	location / {
		proxy_pass http://127.0.0.1:8000;
	}        
}

Setelah itu buat symlink untuk konfigurasi server block baru anda :

sudo ln -s /etc/nginx/sites-available/port8000.namadomainanda.com /etc/nginx/sites-enabled/port8000.namadomainanda.com

Kemudian cek konfigurasi Nginx anda dengan :

nginx -t

Jika output dari tampilan adalah seperti dibawah ini :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Maka, konfigurasi server block anda telah berhasil. Langkah berikutnya adalah me-restart Nginx anda dengan :

systemctl restart nginx

Setelah itu, akses domain anda. Jika domain baru anda telah berhasil menampilkan PHP Info, artinya Docker Container yang berisi PHP dan Nginx anda telah berhasil berjalan.

PHP Info Alpine

Mudah bukan untuk meng-install PHP dan Nginx yang siap pakai pada Docker Container… Dari PHP Info tersebut kita juga dapat melihat, bahwa PHP kita berjalan pada Docker Container dengan Operating System Alpine, yaitu Operating System yang digunakan untuk Docker Container tersebut.

Langkah selanjutnya adalah mencoba instalasi Docker Container untuk stack teknologi yang anda butuhkan. Akan saya tulis dalam di waktu depan, atau anda dapat mempelajarinya di Documentasi resmi Docker atau mencari image yang anda butuhkan pada Docker Hub (hub.docker.com)

3. Instalasi Docker Compose

Ini adalah langkah tambahan yang akan membantu anda mempermudah proses pembuatan sebuah Container. Docker Compose adalah sebuah berkas yang berada pada folder aplikasi anda yang digunakan untuk menyimpan konfigurasi pembuatan Container. Jadi anda tidak perlu membuat perintah seperti “docker container run -p 8000:8080 trafex/php-nginx -d” terus menerus ketika membuat suatu Container. Anda hanya perlu memanggil perintah “docker compose up” kemudian konfigurasi Container anda langsung berjalan.

Oke, langsung saja untuk meng-install Docker Compose langkah pertama adalah mengunduh Docker Compose versi stable 2.4.1 dengan menggunakan perintah :

DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}

mkdir -p $DOCKER_CONFIG/cli-plugins

curl -SL https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose

Perintah di atas akan meng-install Docker Compose kepada pengguna aktif pada direktori $HOME. Untuk meng-install Docker Compose ke seluruh pengguna pada sistem, ubah variabel $DOCKER_CONFIG dengan /usr/local/lib/docker
Kemudian beri izin eksekusi ke Docker Compose yang telah anda unduh dengan :

chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose

Coba hasil instalasi anda dengan

docker compose version

Setelah itu jika keluar versi Docker Compose telah muncul, artinya Docker Compose anda berhasil di install….
Selamat… Langkah selanjutnya untuk penggunaan Docker Compose, akan saya jelaskan apa artikel berikutnya. ​

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.