alexa-tracking

Main Content

1024
1024
KASKUS
51
244
https://www.kaskus.co.id/thread/58948fbdd89b093a758b456b/diskusi-docker---software-containerization-platform
[DISKUSI] Docker - software containerization platform
Quote:Intro
Quote:What is Docker
Docker is the world's leading software containerization platform. Docker containers wrap a piece of software in a complete filesystem that contains everything needed to run: code, runtime, system tools, system libraries – anything that can be installed on a server. This guarantees that the software will always run the same, regardless of its environment.
Spoiler for Illustration:

Quote:Bedanya Docker dibanding Virtual Machine
Quote:Virtual Machine
Virtual machines include the application, the necessary binaries and libraries, and an entire guest operating system -- all of which can amount to tens of GBs.
Spoiler for Diagram:

Quote:Containers
Containers include the application and all of its dependencies --but share the kernel with other containers, running as isolated processes in user space on the host operating system. Docker containers are not tied to any specific infrastructure: they run on any computer, on any infrastructure, and in any cloud.
Spoiler for Diagram:



Sekian kata pengantar dari saya. bukannya sok pinter dg pake bahasa inggris, itu ane copas mentah2 dari situs resminya. emoticon-Peace

__________________________________________________________________________________

Sekarang mari fokus ke tema diskusi yg pertama.
singkat kata, ane pengen ngikutin tutorial yg ada di
Code:
https://openlayers.org/en/latest/doc/tutorials/custom-builds.html

di situs tersebut dijelaskan bahwa untuk melakukan kompilasi library sesuai dg kebutuhan, kita perlu dua tool yaitu nodejs dan java.
untuk nodejs sudah terinstall di system ane. yg jadi masalah adalah ane gak pengen install java karena emang ane jarang banget (ato mungkin gak pernah) make java.
nah ane kepikiran untuk pake docker buat proses kompilasinya. agar kalo nanti udah gak butuh tinggal ane hapus ada container/image-nya.

kalo ngikutin filosofi docker yg katanya 'one container per proccess' itu kan bearti butuh setidaknya 2 buah container.
nah gimana tuh cara nge-link masing2 container agar bisa saling kerja sama dalam meng-compile library yg ane inginkan?

sedikit kutipan dari tutorial diatas.
Spoiler for Openlayers - Custom build:

nah untuk melakukan tahap2 diatas di dalam docker langkah-langkahnya gimana ya?
image apa saja yg perlu ane pull?
kalo ada yg punya/bisa bikin recipe Dockerfile tolong dong di-share.

semoga bisa jadi bahan diskusi yg bermanfaat. emoticon-linux2

Artikel-artikel penting/menarik

reserved, lagi
kebutuhan kompilasi java sejauh apa sampe dibikin container sendiri secara java sendiri bisa dibilang vm untuk semua yg berhubungan dgn java
Quote:Original Posted By margono.sudibyo
kebutuhan kompilasi java sejauh apa sampe dibikin container sendiri secara java sendiri bisa dibilang vm untuk semua yg berhubungan dgn java

java dipake sebagai runtime library buat google closure compiler.
ane ada pengalaman buruk dg java, jadi trauma buat install java secara system wide.

soalnya kalo gak di-minify size dari openlayer luar biasa gede.
versi dist yg udah diminify aja hampir 500KB, dg gzip 140an KB.

padahal banyak banget komponen yg gak ane pake.
oleh sebab itu ane pengen custom dg meng-include komponen2 yg emang bener2 ane pake.

siapa tahu size-nya bisa jadi cuma belasan KB.
Quote:Original Posted By zackad

java dipake sebagai runtime library buat google closure compiler.
ane ada pengalaman buruk dg java, jadi trauma buat install java secara system wide.

soalnya kalo gak di-minify size dari openlayer luar biasa gede.
versi dist yg udah diminify aja hampir 500KB, dg gzip 140an KB.

padahal banyak banget komponen yg gak ane pake.
oleh sebab itu ane pengen custom dg meng-include komponen2 yg emang bener2 ane pake.

siapa tahu size-nya bisa jadi cuma belasan KB.


wkwkwk, cm buat itu doang? terlepas dr urusan java, js apaan sampe 500Kb?
Sayang ane ndak ngerti nodejs emoticon-Hammer (S)

Ane nangkepnya Docker itu buat Services dan Tools
Services itu app yg terus2an jalan, macem Apache, Nginx, Tomcat, PHP-FPM, MySQL, dst
Tools itu yg dijalanin sesekali aja, macem php, composer, dan tools2 lain yg umumnya berbasis cli

Ini yg mau TS bikin itu masuknya Tools kah? Dimana tools itu buat bikin custom build OpenLayer, dimana buat melakukan itu butuh NPM dan Java.

Kalo iya, berarti di Docker-nya diisi aja dengan NPM, Java, dan semua dependensi yg dibutuhkan buat jalanin custom build tadi.
Ga masalah disitu ada NPM dan Java dalam 1 image, karena yg dihitung itu fungsi akhirnya cuma jadi 1 tools aja

CMIIW
Quote:Original Posted By margono.sudibyo


wkwkwk, cm buat itu doang? terlepas dr urusan java, js apaan sampe 500Kb?


ExtJS bisa sampe 2Mb oom emoticon-Hammer (S)
Quote:Original Posted By zackad

java dipake sebagai runtime library buat google closure compiler.
ane ada pengalaman buruk dg java, jadi trauma buat install java secara system wide.

soalnya kalo gak di-minify size dari openlayer luar biasa gede.
versi dist yg udah diminify aja hampir 500KB, dg gzip 140an KB.

padahal banyak banget komponen yg gak ane pake.
oleh sebab itu ane pengen custom dg meng-include komponen2 yg emang bener2 ane pake.

siapa tahu size-nya bisa jadi cuma belasan KB.


Kalo mau, manfaatin aja fitur CI/CD di GitLab buat install NPM, Java, semua dependensi, dan proses generate custom js-nya emoticon-Malu (S)
Setelah proses dijalanin, tunggu sampe kelar, tinggal download hasil js-nya...
Quote:Original Posted By herloct


ExtJS bisa sampe 2Mb oom emoticon-Hammer (S)


walah. goblok sj kl utk urusan js mau pake library smp ukuran Mb. coba sekali2 masuk komunitas underground biar kebuka macem mana para cracker berurusan sama program.
Quote:Original Posted By zackad

java dipake sebagai runtime library buat google closure compiler.
ane ada pengalaman buruk dg java, jadi trauma buat install java secara system wide.

soalnya kalo gak di-minify size dari openlayer luar biasa gede.
versi dist yg udah diminify aja hampir 500KB, dg gzip 140an KB.

padahal banyak banget komponen yg gak ane pake.
oleh sebab itu ane pengen custom dg meng-include komponen2 yg emang bener2 ane pake.

siapa tahu size-nya bisa jadi cuma belasan KB.


Di ane pakek docker hasil custom build-nya jadi 155.3kB oom, di-gzip dapet 54kB
Cuma ga tau jalan beneran nggak itu js emoticon-Hammer (S)
Hitler uses Docker
youtube-thumbnail
Quote:Original Posted By margono.sudibyo
wkwkwk, cm buat itu doang? terlepas dr urusan java, js apaan sampe 500Kb?

openlayers 3 om.
library buat aplikasi webgis.
mungkin bisa dibilang google maps versi open source. emoticon-Hammer (S)

Quote:Original Posted By herloct
Sayang ane ndak ngerti nodejs emoticon-Hammer (S)

ane pake nodejs juga sebagai tool aja.
umumnya buat minify file js, dan dependensi manager kayak bower.
untuk ngolah css dan livereload, ane lebih milih pake tool-nya ruby kayak guard dan sass.


Quote:Original Posted By herloct
Ini yg mau TS bikin itu masuknya Tools kah? Dimana tools itu buat bikin custom build OpenLayer, dimana buat melakukan itu butuh NPM dan Java.

Kalo iya, berarti di Docker-nya diisi aja dengan NPM, Java, dan semua dependensi yg dibutuhkan buat jalanin custom build tadi.
Ga masalah disitu ada NPM dan Java dalam 1 image, karena yg dihitung itu fungsi akhirnya cuma jadi 1 tools aja

CMIIW

iya gan, ane pengen bikin tool.
kira2 pake image apa ya yg minimalis?
iseng2 lihat alpine size kecil bener.

Quote:Original Posted By herloct
Kalo mau, manfaatin aja fitur CI/CD di GitLab buat install NPM, Java, semua dependensi, dan proses generate custom js-nya emoticon-Malu (S)
Setelah proses dijalanin, tunggu sampe kelar, tinggal download hasil js-nya...

masih belom paham om cara pake CI/CD.
btw, di github bukannya ada travis?
itu bisa dipake buat ginian gak sih?

Quote:Original Posted By herloct
Di ane pakek docker hasil custom build-nya jadi 155.3kB oom, di-gzip dapet 54kB
Cuma ga tau jalan beneran nggak itu js emoticon-Hammer (S)

share donk hasil racikannya. emoticon-Malu
*termasuk hasil jadinya. emoticon-Peace
Quote:Original Posted By zackad
iya gan, ane pengen bikin tool.
kira2 pake image apa ya yg minimalis?
iseng2 lihat alpine size kecil bener.


Yg minimalis biasanya pakek Alpine
Kalo mau extrim bisa pake Nix emoticon-Takut (S)

Quote:Original Posted By zackad
masih belom paham om cara pake CI/CD.
btw, di github bukannya ada travis?
itu bisa dipake buat ginian gak sih?


Selama dia bisa nginstall apapun (misal pake apt), dan bisa download apapun yg di-generate, harusnya bisa...

Quote:Original Posted By zackad
share donk hasil racikannya. emoticon-Malu
*termasuk hasil jadinya. emoticon-Peace


Ini oom
https://gist.github.com/herloct/58cf...81322b002f0238
Quote:Original Posted By herloct
Ini oom
https://gist.github.com/herloct/58cf...81322b002f0238

proses build-nya emang lama ya om?
stuck disini kayak gak ada progres.
[DISKUSI] Docker - software containerization platform
Quote:Original Posted By zackad

proses build-nya emang lama ya om?
stuck disini kayak gak ada progres.
[DISKUSI] Docker - software containerization platform


Build di lapie/pc lokal? Tergantung kecepatan koneksi internet

Dan somehow kekurangan si alpine, server buat donlot package2nya kayanya emang lemod kalo dibandingin sama server package si debian n ubuntu

Coba cancel n build lagi aja
Sambil liat network manager buat tau beneran lagi download atau nggak

Di lokal ane sih jalan proses buildnya, makan waktu sekitar 10-20menit kayanya emoticon-Hammer (S)
Quote:Original Posted By herloct
Build di lapie/pc lokal? Tergantung kecepatan koneksi internet

Dan somehow kekurangan si alpine, server buat donlot package2nya kayanya emang lemod kalo dibandingin sama server package si debian n ubuntu

Coba cancel n build lagi aja
Sambil liat network manager buat tau beneran lagi download atau nggak

Di lokal ane sih jalan proses buildnya, makan waktu sekitar 10-20menit kayanya emoticon-Hammer (S)

kayaknya emang masalah koneksi internet.
ane cek gak ada traffic dari docker.

udah pake vpn juga gak ngaruh.
dugaan sementara package manager punya alpine gak bisa konek ke internet.
ato ada konfig yg salah? emoticon-Bingung (S)

--update
masalah emang ada pada masalah koneksi internet.
coba build di vps langsung jalan.

solusi : blom ketemu. emoticon-Bingung
Quote:Original Posted By zackad

kayaknya emang masalah koneksi internet.
ane cek gak ada traffic dari docker.

udah pake vpn juga gak ngaruh.
dugaan sementara package manager punya alpine gak bisa konek ke internet.
ato ada konfig yg salah? emoticon-Bingung (S)

--update
masalah emang ada pada masalah koneksi internet.
coba build di vps langsung jalan.

solusi : blom ketemu. emoticon-Bingung


Manfaatin Build Automation si Docker Hub aja
Taro Dockerfile-nya di Github, trus daftarin jadi Build Automation di Docker Hub
Jadi di lokal tinggal pull aja image yg udah jadi
Quote:Original Posted By herloct
Manfaatin Build Automation si Docker Hub aja
Taro Dockerfile-nya di Github, trus daftarin jadi Build Automation di Docker Hub
Jadi di lokal tinggal pull aja image yg udah jadi

sepertinya lebih praktis kalo pake travis ci kalo cuma buat ng-build.
cuma ane gak tahu gimana cara download file hasil build-nya.

sepertinya emang lebih bagus pake Docker Hub.
biar bisa dipake di komputer lokal.
Quote:Original Posted By zackad
--update
masalah emang ada pada masalah koneksi internet.
coba build di vps langsung jalan.

solusi : blom ketemu. emoticon-Bingung

ketemu juga biang keladi masalah2 yg ane hadapi meliputi :
- docker gak bisa build
- gak bisa ng-run docker image
- system ng-hang (tiap kali docker stuck gak bisa reboot, terpaksa force shutdown)

penyebab utama adalah karena ane coba symlink direktori /var/lib/docker ke harddisk biar semua image kesimpen di HDD terpisah ketimpang nyatu dalam partisi system.

solusi :
- uninstall (purge) docker dari system agar settingan dibersihkan seluruhnya
- pastikan file /etc/default/docker sudah ikut terhapus
- hapus direktori /var/lib/docker beserta seluruh isinya
- reinstall docker

NB : berlaku untuk Ubuntu 16.04