@balinux wogh, sukses jadi youtuber nya bli Link tutorialnya di youtube boleh tuh dibagiin disini.
I Putu Alfred Crosby (@alfrcr)
Information about I Putu Alfred Crosby
About me
Data Warehouse Engineer at Gopay. Formerly SWE at Kumparan, Grab, Tokopedia, Urbanhire.
Best posts made by alfrcr
-
-
Setup Dockerfile
Buka text editor dan buat file baru bernama
Dockerfile
. Lalu kalian bisa copas semua kode di bawah ini ke file Dockerfile kalian.FROM node:10 WORKDIR /usr/src/app COPY package*.json ./ RUN npm install COPY . . EXPOSE 8080 CMD [ "npm", "start" ]
Apa yang kita lakukan diatas?
- Line 1: Kita menggunakan image docker yang sudah terinstall node. Apa spesifikasi image node:10 ini? Kalian bisa cek ke repo docker nya disini pada section Image Variants (biasanya menggunakan os debian, kecuali kita spesifikasikan sendiri menggunakan os lain seperti Alpine Linux)
- Line 3: Membuat working directory untuk app kita
- Line 5: Copy
package.json
danpackage-lock.json
untuk diinstal terlebih dahulu. Kenapa tidak copy semua file aja dulu baru kemudian diinstall? Karena kita akan memanfaatkanbuild cache
dari docker ketika kita membangun docker-image kita. Kita asumsikan file aplikasi kita (index.js dan mungkin nanti akan ada banyak file lainnya) akan selalu berubah, namun package tidak selalu berubah a.k.a lebih jarang berubahnya. Jadi ketika kita pisah, kita tidak perlu menunggu prosesnpm install
yang memakan waktu, dan bisa gunakanbuild cache
barusan. - Line 9: Copy file dari folder
content_service
ke dalamWORKDIR
yang sudah tadi kita buat di dalam Docker image. - Line 11: Expose port yang kita gunakan pada aplikasi kita yaitu
8080
- Line 12: Jalankan aplikasi
Build image docker
Sekarang kita bungkus aplikasi kita dengan perintah:
$ docker build -t <username_dockerhub>/conten_service:v1.0.0 .
jangan lupa di ujung command line diatas ada
.
itu menunjukan konteks folder mana yang akan kita build image nya.
Oh iya buat yang bingung nyari username dockerhub dimana, teman-teman bisa login dulu di website dockerContoh perintah yang aku jalanin di komputerku:
$ docker build -t alfredcrosby/content_service:v1.0.0 .
Menghasilkan output seperti ini:
Sending build context to Docker daemon 2.005MB Step 1/7 : FROM node:10 10: Pulling from library/node c0c53f743a40: Pull complete 66997431d390: Pull complete 0ea865e2909f: Pull complete 584bf23912b7: Pull complete 3c4c73959f29: Pull complete 63e05266fc4b: Pull complete 1f4961ce4444: Pull complete 6b0e52f69879: Pull complete 3ed75ed173e8: Pull complete Digest: sha256:df200903ff34c07c1b9112b4fd9d1342c11eb7d99525f2b366c487f91dda8131 Status: Downloaded newer image for node:10 ---> aa6432763c11 Step 2/7 : WORKDIR /usr/src/app ---> Running in 6ccfcfbf8f31 Removing intermediate container 6ccfcfbf8f31 ---> bf8a522f5fde Step 3/7 : COPY package*.json ./ ---> 902f7a35ec7e Step 4/7 : RUN npm install ---> Running in 456895d69a75 npm WARN [email protected] No description npm WARN [email protected] No repository field. added 50 packages from 37 contributors and audited 126 packages in 1.872s found 0 vulnerabilities Removing intermediate container 456895d69a75 ---> 375a14d77c73 Step 5/7 : COPY . . ---> 3e4826b88886 Step 6/7 : EXPOSE 8080 ---> Running in e408044836ae Removing intermediate container e408044836ae ---> ef9ce8c0570f Step 7/7 : CMD [ "npm", "start" ] ---> Running in 148a0c6865f3 Removing intermediate container 148a0c6865f3 ---> f75bb63355bf Successfully built f75bb63355bf Successfully tagged alfredcrosby/content_service:v1.0.0
Jalankan aplikasi
Yuk kita tes jalankan aplikasi kita dengan menjalankan perintah:
$ docker run -p <port pilihanmu>:8080 -d <username_dockerhub>/content_service:v1.0.0
Kalo di komputerku aku coba map dari port
8080
ke5000
setelah dijalankan, akan muncul output seperti ini:$ docker run -p 5000:8080 -d alfredcrosby/content_service:v1.0.0 0c906a20ee298ac053cd56bc067ffaffdd82201985c5ff529f0c476a397e6a30
Cek aplikasi udah jalan atau belum?
Bisa pakai command
$ docker ps
Output nya di komputer ku seperti ini:
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0c906a20ee29 alfredcrosby/content_service:v1.0.0 "docker-entrypoint.sβ¦" About a minute ago Up About a minute 0.0.0.0:5000->8080/tcp compassionate_snyder
Untuk mastiin udah jalan
Coba aja temen-temen buka
http://localhost:<port yang kalian pilih>
dan aplikasi kita akan tampil seperti sebelumnyaUntuk stop proses docker tadi gimana?
Kalian bisa jalankan perintah ini
$ docker stop <container_id>
.
Darimana dapat CONTAINER ID? dengan melihat output dari$ docker ps
Selamat!!! Aplikasi Docker kalian sudah berhasil. Sisanya tinggal bagaimana cara deploy ke server production menggunakan docker.
Kalo berhasil atau menemukan error ketika mencoba tutorial ini, langsung aja post di thread ini ya manteman
-
Latar Belakang
Motivasi dibuatnya forum BaliJS adalah sebagai sarana belajar, bertanya, diskusi dan berbagi agar memberi dampak lebih baik bagi anggota BaliJS.
Belajar
Temen-temen BaliJS yang belajar sesuatu jangan malu untuk menulis sesuatu tentang apa yang dipelajari.
Jangan ragu untuk belajar menulis karena proses menulis sekaligus belajar mengemukakan ide ke-orang lain. Bahkan keterampilan menulis banyak diperlukan di industri teknologi karena kita mengkonsumsi tulisan hampir setiap hari, contoh saja dokumentasi sebuah project open source di Github.Juga jangan ragu atau malu bertanya, karena melalui bertanya juga secara tidak langsung kamu bisa membantu teman-teman yang lain yang mungkin akan mengalami hal yang serupa di kemudian hari menjadi lebih mudah mencari dan menemukan solusinya di forum ini.
Berbagi
Proses belajar dalam bentuk tulisan akan membuka kesempatan bagi orang lain untuk belajar dari pengalamanmu, selain itu muncul kesempatan mendapatkan feedback dari orang lain dan kamu pun bisa belajar lagi dari interaksi tersebut.
Berdampak
Iterasi belajar dan berbagi adalah pondasi untuk pengembangan diri yang mana diharapkan akan mulai membuat dampak juga bagi diri sendiri dan anggota lain di BaliJS.
βKnowledge is power. Knowledge shared is power multiplied.β ~ Robert Noyce
Di forum ini terdapat beberapa 5 Kategori sbb.
- Backend -- diskusi seputar backend node, deno, mongodb, mysql dll
- Frontend -- diskusi seputar frontend, jQuery, react, vue dll
- Lowongan -- siapa tau menemukan jalan hidup selanjutnya
- Newsletter -- kurasi hal menarik seputar Javascript,web & programming disajikan 2 minggu sekali
- Komentar dan Masukan -- umpan balik dari teman-teman sangat diperlukan untuk mengembangkan forum ini lebih baik lagi
Sebelum Bertanya
Sebelum bertanya pastikan
- menceritakan hal apa saja yang sudah pernah dicoba
- terangkan secara eksplisit solusi yang ingin dicapai
- hormati waktu orang lain
evilfactory telah merangkum hal ini dalam artikel Bertanya seputar programming.
Aturan Penggunaan
Silakan kunjungi halaman ini
Oleh: BaliJS Organizer
-
Halo semeton, saya sedang perlu sebuah library pemetaan kecamatan di Indonesia. Contohnya seperti di bawah ini, tapi per kecamatan.
Apakah semeton disini ada yang pernah membuat pemetaan per kecamatan? Kalo ada yg pernah, mohon berkenan referensi nya.
Suksma
-
Tujuan tutorial ini adalah untuk mengenalkan ke teman-teman yang ingin belajar meng-kontainerisasi kan sebuah aplikasi. Oh iya, tutorial ini juga ditujukan untuk penggunaan di mode development, bukan mode production.
Syarat
Untuk mengikuti tutorial ini, diharapkan teman-teman sudah menginstall Docker dan NodeJS dan sudah berjalan dengan baik (tidak ada error).
Tutorial ini dibagi menjadi dua bagian besar, yaitu: pertama kita akan membuat aplikasi NodeJS sederhana yang hanya akan menampilkan response json tanpa koneksi database, yang kedua adalah bagian setup docker nya itu sendiri.
Penjelasan Singkat
Docker akan membungkus aplikasi NodeJS kita dan semua dependency aplikasi kita (misal: package npm, library lain seperti driver database) ke dalam sebuah box yang biasa disebut container.
Untuk membuat sebuah container, kita membutuhkan sebuah image yang biasanya sebuah sistem operasi seperti Ubuntu, Alpine Linux yang nanti nya akan digunakan oleh aplikasi kita untuk "hidup" disana beserta semua dependency nya.
Oh iya FYI, host (komputer kita/ komputer server) dapat menjalankan beberapa docker container.
Btw, kita lanjut di post selanjutnya yah
-
boleh dibantu kaya gmn kodingnya sejauh ini bli?
@alfinsuryaS ada pengalaman Vue
@imdbsd ada pengalaman buat WYSIWYG tapi dgn react
tinggal kita kombinasikan aja -
@alfinsuryaS ok fin, coba nanti kita update ya tombol2 reaction nya biar lebih jelas. Thanks masukannya fin
-
@Satya-Wikananda halo Satya, selamat datang. Sudah ada 2 satya di forum ini wkwkwk
@sarascahya welcome juga Saras
Semoga betah di forum ini jgn lupa sharing2 kalo nemu yang menarik yaaa -
Yg wibu kita buat thread khusus aja lah nanti yuk atau buat grup khusus wkwkwkkw
-
Semua anggota wajib mengikuti aturan di bawah ini:
- Budayakan memakai bahasa yang sopan
- Gunakan nama asli atau inisial yang manusiawi agar moderator tidak salah mengira akun anda merupakan bot, spammer atau sejenisnya
- Boleh posting lowongan pekerjaan tapi tidak boleh menyangkut skripsi/thesis dan posting lowongan tersebut di thread yang sudah ditentukan
- Teguran hingga excommunication bagi yang melakukan SARA, bullying dan tindakan melanggar lainnya
- Moderator berhak menghapus postingan yang dianggap kurang berkenan bagi keluarga besar BaliJS
- Budayakan ramah dan selalu ringan tangan untuk menjawab pertanyaan atau memuji atau memberi masukan tulisan seseorang
- Profesional dan tidak membawa emosi berlebihan dalam sebuah diskusi
- Hindari dan lapor ke moderator jika menemukan thread yang menimbulkan ketegangan atau konflik
- Jika ingin bertanya, wajib sertakan apa saja yang sudah dilakukan. Karena kamu juga pasti tidak ingin diberi jawaban yang sudah kamu coba bukan?
Oleh: BaliJS Organizer
-
Semeton disini mungkin ada yg pernah develop mobile web dan pernah pakai library vanilla js yg bisa fullpage slide seperti UI TikTok?
Aku ada nemu fullPage.js tapi aku mau nyari yg license MIT/BSD. -
@sarascahya waduh ngeri bgt dual-screen aku tipe yg gak bisa fokus kalo pake dua layar
-
@Deni-Cho welcome den, santuy gpp bkn org Bali. Rajin-rajin sharing aja disini biar gak w bully