Selasa, 21 Februari 2023

Cara Menjalankan Go Run Main.go Pada Container

https://www.totorajo.web.id/2023/02/cara-menjalankan-golang-pada-docker.html. Silahkan dicoba terlebih dulu supaya bisa mengikuti artikel ini. Sebelumnya kita sudah berhasil membuat container yang didalamnya isinya Golang 1.20.

Selanjutnya bagaimana cara coding project kita bisa terbaca pada container. Sehingga kita bisa menjadikan go run main.go kemudian kita bisa akses hasil melalui browser. Pertama kita perlu melakukan pengecekan dulu apakah container yang kita buat sebelumnya sudah berhasil atau belum. Ketika perintah docker ps pada terminal dan jika berhasil maka akan tampil seperti berikut.



Kotak merah menunjukan ada container bernama golang dan berjalan di port 8060. 8060:8060 mungkin akan menjadikan bingung kenapa ada dua.  8060 pertama adalah port expose port yang kita akses dari browser. 8060 kedua adalah port apps dari golang yang kita buat. Jadi maksud 8060:8060 adalah mengakses port 8060 dari broswer yang diteruskan ke container apps dengan port 8060. Bagaimana jika port aplikasi misal 3000? Jika begitu berarti saat kita membuat container pada tutorial sebelumnya menuliskan portnya 8060:3000.



Perhatikan kotak merah ada list nama container. Kita perlu ingat nama tersebut untuk masuk kedalam container ditutorial ini kita akan masuk atau akses container dengan nama golang. Selanjutnya kita load coding project golang kita ke visual studio code kemudian lihat dimana project tersebut disimpan.



Jika D:\container\golang\ dalah directory yang kita mount pada saat kita membuat container maka seluruh directory yang ada dibawahnya akan tersedia di container yang sudah kita buat tadi. Untuk membuatkan jalankan perintah :

# docker exec -it golang bash 

Jika muncul root@c8524644d242:/go# selamat kita sudah berhasil akses container. Sampai disini ketika kita lihat directory /go/src maka seluruh file yang ada di D:\container\golang\lab\lab-golang-gin-jwt juga ada di  /go/src

Setelah kita sudah berada dicontainer maka kita bisa melakukan seluruh yang diperlukan dev golang. Sebagai contoh melakukan go run main.go



Disini kita sudah berhasil menjalankan go code di container yang source codenya dari drive D. Cara ini sangat membantu ketika kita sedang melakukan riset. Semua yang kita coba diatas bisa juga kita implementasikan di programming dengan bahasa lain.  Semoga membantu

Cara Membuat Container Golang Pada Docker

Golang saat ini bahasa pemrograman yang menjadi pilihan untuk kebutuhan backend. Golang bisa kita install di berbagi sistem operasi seperti Windows, Linux dan MacOs. Jika kita sedang melakukan riset dan perlu banyak mencoba bahasa pemrograman menginstall pada Host OS terkadang menimbulkan masalah bentrok antar versi. Hal ini mengganggu produktivias kita jika sudah kejar deadline. Berikut cara mudah melakukan develop golang langsung pada docker container. Cara ini akan memberikan banyak kelebihan seperti :

1. Bisa melakukan pengujian source code di banyak versi golang.  Satu versi golang bisa diwakilkan satu container. Kita bisa membuat banyak container dengan versi yang berbeda-beda.

2. Sistem operasi host / laptop menjadi tidak banyak terinstall bahasa pemrograman. Hal ini menjadikan resiko install ulang karena kerusakan config menjadi kecil.

Cara Setup Golang Pada Docker Container
Tentukan directory pada host (laptop/pc) yang akan kita gunakan untuk develop. Jika menggunakan linux misal /home/toto/golang dan jika diwindows misal d:\dev\golang. directory tersebut adalah tempat  kita membuat project golang. Dalam penjelasan selanjutnya kita gunakan directory berdasarkan linux.

Kita cari docker image di docker hub atau bisa akses langsung pada url https://hub.docker.com/_/golang. Kita akan menggunakan versi latest (saat tulisan ini dibuat adalah versi 1.20.0). 

Jalankan perintah berikut pada terminal

Sampai disini kita sudah berhasil membuat container berisi golang yang siap untuk kita develop apps. Untuk bagaimana cara menjalankan docker run didalam container dan hasil bisa akses di browser silahkan baca artikel berikutnya di kategori docker. Semoga membantu.

Kamis, 02 Juni 2022

Cara Mudah Install Library GD Pada Docker

 

Pada saat kita membuat aplikasi menggunakan PHP dan membutuhkan fungsi manipulasi gambar. Maka kita perlu menambahkan atau mengaktifkan library bernama gd ini. Jika kita mengguakan docker bagaimana cara untuk menambahkan library gd ? Berikut adalah langkah yang harus kita lakukan ketika kita menggunakan OS turunan debian.

1. Akses bash container yang ingin kita tambahkan. Untuk caranya silahkan baca di tulisan :
https://www.totorajo.web.id/2021/12/cara-akses-terminal-container-pada.html

2. Jalankan perintah berikut :
Semoga membantu

Kamis, 12 Mei 2022

Install Moodle Pada Container Docker

Moodle adalah aplikasi berbasis web yang biasa digunakan untuk LMS atau Learning Management System. Ketika kita menggunakan hosting dan akan melakukan upload moodle supaya bisa diakses dari internet cukup melakukan upload file dan setup database. Berikut adalah langkah ketika ingin melakukan deployment Moodle pada Docker. 



Semoga membantu

Rabu, 11 Mei 2022

Cara Mengelola Container Docker Dengan GUI



Untuk mengelola container yang sudah kita buat pada docker kita bisa menggunakan CLI Docker pada terminal. Untuk beberapa container kita masih bisa dengan mudah mengelola dengan CLI. Ketika container terus bertambah mengelola dengan CLI terkadang membuat kita bingung. Solusinya adalah gunakan Portainer. Aplikasi berbasis docker image yang bisa kita akses melalui browser. Sehingga apa yang kita ketikan pada terminal untuk mengelola container bisa digantikan dengan tampilan GUI yang bisa kita klik. Berikut adalah cara installnya.
Login ssh ke vm atau vps yang sudah terinstall docker.
contoh : ssh toto@147.88.112.79


Setelah selesai misal IP vps kita 147.88.112.79. Untuk akses Portainer http://147.88.112.79:9000.
Jika kita akses pertama kali nanti akan diminta membuat user baru dengan username admin dan password kita buat sendiri sesuai instruksi. Semoga bermanfaat.

Selasa, 19 April 2022

Cara Mengatasi Got permission denied Docker daemon socket

 

Setelah kita menginstall docker pada server selanjutnya kita akan membuat container. Untuk melakukan pengecekan container yang pernah kita buat bisa kita mengetikan perintah $ docker ps. Tetapi muncul notifikasi gagal menampilkan list container seperti ini :  Got permission denied while trying to connect to the Docker daemon socket.

Untuk mengatasi error tersebut ketikan berikut pada terminal : 
sudo chmod 666 /var/run/docker.sock

Kembali ketikan $ docker ps seharusnya error Got permission denied while trying to connect to the Docker daemon socket sudah tidak muncul lagi. Semoga membantu

Minggu, 27 Maret 2022

Cara Mudah Install Docker Pada Ubuntu



Docker merupakan software untuk melakukan pembuatan vm berbasis container. Kita bisa dengan mudah menyiapkan environment baik untuk staging, demo atau production dengan cepat. Dengan adanya Docker proses developtment bisa dilakukan dengan cepat dan murah. Karena 1 vps bisa kita pakai untuk membuat beberapa container. 

Jika setiap container mewakili service maka ketika kita membuat microservice hanya membutuhkan 1 VPS saja dengan environment pemrograman yang beragam. Berikut adalah langkah langkah bagaimana menginstall Docker pada sistem operasi Ubuntu 20

Semoga membantu.

Rabu, 23 Maret 2022

Cara Setting SSL Pada Docker


SSL saat ini menjadi kebutuhan standart development aplikasi. Ketika kita menggunakan container dan ingin melakukan setup domain dengan reverse proxy caranya bisa dipelajari disini. Setelah domain berhasil terhubung dengan server dan kita ingin menambahkan https berikut adalah cara mudah setup https pada container docker.

Sebelum kita melakukan setup pada server pastikan kita order SSL baik gratis ataupun premium. Setelah kita melakukan order SSL pastikan kita sudah memiliki :
1. Certificate / CRT contoh : domain.crt
2. Private Key  contoh : domain.key
3. CA Bundle contoh : ca-bundle.crt

3 file tersebut kita simpan dalam directory /home/toto/ssl/

Selanjutnya lakukan ini untuk membuat file .pem
/home/toto/ssl/ $ cat domain.crt ca-bundle.crt > domain.pem

Kemudian edit 
$ sudo /etc/nginx/sites-available/default

Dan tambahkan atau sesuaikan seperti berikut 


simpan kemudian restart nginx dengan cara $ sudo service nginx restart. Kemudian akses https://container1.totorajo.web.id:4443 jika setup sesuai maka domain tersebut sudah bisa diakses menjadi https. Semoga membantu.

Rabu, 16 Maret 2022

Cara Install RabbitMQ Menggunakan Docker

Dalam proses development aplikasi kita membutuhkan proses broadcast. Contoh mengirikam email ketika selesai registrasi atau pemberitahuan yang terkirim ke whatsapp secara berkala. Untuk keperluan tersebut biasanya kita menggunakan cron service yang kita jalankan kemudian melakukan eksekusi file untuk melakukan proses broadcast tersebut. Jika user atau target kita sedikit cara tersebut tidak menjadi masalah. Tetapi ketika kita ingin melakukan brodcast ke 10.000 user maka muncul masalah berapa lama waktu yang dibutuhkan. Misal saja kita melakukan cronjob per 1 menit dan dalam satu menit bisa mengirim 10 user. Maka perlu 1000 menit untuk menyelesaikan proses broadcast tersebut.

Messaging broker adalah service untuk solusi kasus diatas.  Kita menggunakan RabbitMQ. Kita hanya perlu mengirimkan data dalam bentuk json ke RabbitMQ. RabbitMQ yang akan mengatur jadwal pengiriman broadcast tersebut. Berikut adalah cara mudah menyiapkan RabbitMQ pada server menggunakan docker tanpa harus ribet.



5672 adalah port RabbitMQ client connections
15672 adalah port RabbitMQ management website

Jika port tersebut sudah digunakan diserver bisa diganti disesuikan di port yang masih kosong.
Contoh: 15672:15672
Port sebelum tanda titik dua adalah port yang diakses dari browser / client
Port setelah titik dua adalah port default RabbitMQ

Untuk login management website bisa menggunakan user default yaitu :
User : guest
Pass : guest

Semoga membantu

Kamis, 03 Maret 2022

Cara Setup Laravel Pada Docker Container



Ketika kita sudah membuat container pada docker selanjutnya kita harus menyiapkan service apa saja yang dibutuhkan untuk menjalankan aplikasi atau framework yang digunakan. Pada kasus Laravel berikut adalah service minimal yang harus kita siapkan.

1. Driver PDO
2. Composer

Untuk membuat container pada docker silahkan baca artikel ini. Dan berikut langkah yang harus dilakukan supaya container kita bisa untuk menjalankan Laravel. Pastikan kita sudah akses ssh pada container yang sudah dibuat sebelumnya. Untuk caranya silahkan baca artikel ini


Semoga membantu

Rabu, 23 Februari 2022

Cara Membuat Container Mysql Pada Docker

Untuk membuat server mysql kita bisa melakukan instalasi pada vm atau menggunakan layanan as service. Untuk keperluan development terkadang kita memerlukan uji coba banyak versi dalam satu vm atau vps. Berikut cara untuk membuat container berisi mysql menggunakan docker dan bisa diakses secara remote melalui internet.


Untuk penjelasan detail tentang pembuatan container silahkan baca https://www.totorajo.web.id/2021/12/cara-membuat-container-pada-docker.html. Semoga membantu

Kamis, 09 Desember 2021

Cara Setting Domain Pada Docker




Setelah kita berhasil membuat container kemudian bisa diakses menggunakan ip server maka website sudah bisa diakses secara online oleh public. User akan merasa kesulitan ketika harus menghafalkan IP dan Port. Domain hadir untuk menggantikan nomor IP menjadi sebuah kata yang mudah untuk diingat.  

Dari contoh diatas maka ketika sebuah domain diarahkan ke ip server, kita bisa mengakses url versi ip dibrowser dengan mengetikan http://45.34.23.88:8081  menjadi versi domain totorajo.web.id:8081. Proses tersebut kita sebut sebagai setting domain.  Ketika kita order domain pasti akan mendapatkan panel domain atau biasa disebut manage zone. Tempat kita melakukan pointing atau mengarahkan domain yang kita beli ke ip server yang menjadi tujuan. Dalam proses manage zone terdapat banyak type.

Untuk setup url http://45.34.23.88:8081 bisa diganti menjadi url versi domain totorajo.web.id:8081 kita gunakan type Record A. Perlu diingat ketika mengarahkan atau pointing sebuah domain ke ip server ada proses propagasi. Yaitu proses dimana jaringan network mengenali pointing tersebut yang biasanya bisa sampai 72 jam tergantung dari provider internet yang kita gunakan. Secara umum proses propogasi memerlukan waktu 5 menit sampai 4 jam sampai domain kita bisa diakses.

Selanjutnya kita perlu mengenal nginx. Webserver yang akan kita jadikan Reverse proxy. Proses mengarahkan domain ke container yang sudah pernah kita buat di sini. Pastikan kita menginstall nginx di host atau server kita. Jika belum ada dan os kita Ubuntu silahkan jalankan $ sudo apt install nginx. 

Jika sudah selanjutnya kita akan mengarahkan domain yang sudah bisa diakses tadi ke container. Studi kasusnya Domain yang digunakan : 
container1.totorajo.web.id dan Container Port : 8081. 
Berikut adalah config yang harus kita lakukan di Nginx.
Semoga membantu. 

Selasa, 07 Desember 2021

Cara Akses Terminal Container Pada Docker



Setelah kita berhasil membuat container. Jika belum pernah membuat sebelumnya silahkan baca Cara Membuat Container Pada Docker terlebih dulu. Terkadang kita perlu mengakses container seperti melakukan ssh pada server atau setup config tertentu seperti melakukan install apt ataupun mengubah permission sesuai dengan keperluan aplikasi. Berikut cara untuk mengakses terminal atau bash pada container docker.

1. Akses ssh server dan jalankan perintah sudo docker ps. catat id container atau nama container.

2. Jalankan perintah sudo docker exec -it id-container bash 

Ketika terminal server memberikan info user@id-container berarti kita sudah berhasil akses terminal pada container. Untuk keluar dari terminal ketika ctrl+D. Selamat mencoba.

Cara Membuat Container Pada Docker



Setelah kita berhasil menginstall Docker selanjutnya kita perlu membuat container sebagai tempat untuk deploy aplikasi. Untuk membuat container kita memerlukan info service apa saja yang diperlukan aplikasi untuk bisa berjalan. Sebagai contoh kita akan melakukan deployment aplikasi yang memerlukan apache2, php versi 7.4.  Maka kita memerlukan pull docker image dari registry. Dalam studi kasus ini kita menggunakan docker hub yang bisa diakses pada https://hub.docker.com/.  

Registry adalah tempat kita mendapatkan master isi dari container yang akan kita buat.

Berikut perintah yang perlu kita siapkan untuk membuat container pada docker. Pastikan kita sudah login ke vps atau server kita menggunakan SSH. Sebagai contoh kita memiliki vps dengan IP Public 45.88.34.187 dengan user toto. Maka untuk login ssh dari terminal (Os Ubuntu) gunakan perintah berikut $ ssh toto@45.88.34.187 kemudian inputkan password dari user toto. Jika kita menggunakan Os Windows kita bisa gunakan aplikasi putty atau termius untuk akses server menggunakan ssh.

Berikut adalah perintah yang akan sering kita gunakan dalam proses mengelola docker. 


Penjelasan :
sudo docker ps
Untuk melihat container yang sedang running atau aktif.

sudo docker run -itd --restart unless-stopped  : 
Memberikan perintah membuat container baru yang ketika server direstart menjadi auto running. Kita tidak perlu melakukan start container supaya aktif.

-p 1234:80
Menentukan port berapa container kita akan diakses dari browser. 1234 adalah port yang dipakai untuk mengakses container. 80 Adalah port http sebagai tujuan.  

-v /home/toto/website
Folder yang akan di mount / akses. Tempat upload source code. 

/var/www/html/
Folder container. File dari dari -v /home/toto/website.  

--name landingpage
Nama container yang akan kita buat. Untuk memudahkan menggabarkan aplikasi yang akan kita deploy. Dalam kasus ini berarti kita akan membuat container dengan nama landingpage. 

php:7.4-apache
Docker Image atau service untuk menjalankan source code.

sudo docker container ls -a :
Ketika container berhasil dibuat maka makan akan tampil dalam list container.

Setelah selesai coba kita akses http://ip-server:1234. Jika semua dilakukan dengan benar container kita sudah bisa muncul atau bisa diakses via browser. Selamat mencoba.

Follow Me

DomaiNesia

Recent