Hai semuanya selamat datang di kelas Docker untuk pemula s/d mahir, jadi kali ini kita akan membahas teknology container yaitu menggunakan Docker.
What you’ll learn?
Secara garis besar apa saja sih yang akan temen-temen pelajari:
- Bagaimana menggunakan Docker, & Compose pada PC/Laptop kamu supaya bisa membantu task dalam Development maupun Deployment.
- Hand’s-on terkait best practices untuk menggunakan Docker, membuat Dockerfile and Compose files like a Pro!
- Membuat custom Container Image kemudian di-build serta di-publish ke public/private container registry di environment kamu
- Disertai dengan berbagai macam workload, bahasa pemograman seperti PHP, Java Web, Springboot, Angular dan lain-lain
- Me-running / deploy Container image ke environment server kamu
- Membuat mini project (sederhana) sebagai final project sebagai tolak ukur, temen-temen telah mengelesaikan kelas ini.
Requirement
Untuk mengikuti kelas ini, disarankan temen-temen sudah memenuhi beberapa syarat berikut:
- Memiliki PC / Laptop / Virtual Machine dengan memenuhi standard minimum menjalankan Docker engine atau Docker Desktop
- Memahami sedikit basic tentang commandline / terminal command
- Memiliki account github and Docker Hub
- Memahami perintah
git
dasar, seperticlone
,pull
,checkout
, danpush
- Memahami basic networking, seperti bagaimana setiap node/server berkomunikasi.
- Memahami basic web server dan database, seperti bagaimana mereka saling berkomunikasi melalui protocol TCP/IP
What you’ll get from this cource?
Beberapa benefit jika temen-temen mengikuti kelas ini, diantaranya:
- Materi berbentuk website/blog post, persentation file dan beberapa file pendukung lainnya.
- Materi yang disampakan akan terus bertambah dan di-update seiring dengan bertambahnya waktu
- Materi yang disampaikan disertai dengan Latihan baik pilihan ganda (knowlagebase) maupun hand’s on (praktek)
- Temen-temen bisa bertanya ke group/community baik melalu channel Udemy maupun Discord untuk premium members
- Materi lebih dari 30jam tayang, serta dapat diakses selamanya
- Temen-temen bisa konsultasi secara langsung dengan saya (instruktur) melalui off/online meet jika dibutuhkan. (Contact Me!)
- Mendapatkan Certificate of completion
Description
Kelas DevOps dengan Docker untuk Pemula s/d Mahir
dirancang buat temen-temen untuk yang masih awam karena materi disampkan di buat sejelas dan selengkap mungkin. Selain itu juga yang akan diajarkan tidak hanya sebatas teori melainkan hampir 70%
kita akan hand’s-on (praktek).
Setelah kita mempelajari semua materi terkait docker, diakhir kita akan membahas Studi Kasus. Studi kasus yang akan saya bahas adalah beberapa pengalaman saya bekerja sebagai DevOps Engineer, Konsultan, Technical Advisor serta Training. Contohnya seperti
- Memigrasikan aplikasi berbasis webserver ke container
- Memigrasikan aplikasi dari linux agent (system) ke container
- Memigrasikan aplikasi monolith ke microservice yang di deploy ke container system
Who this course is for?
Kelas ini dibuat buat siapa saya yang ingin menjadi DevOps engineer, bisa untuk yang belum bekerja seperti:
- SMK (Sekolah menengah kejuruan) jurusan IT (ilmu komputer),
- Mahasiswa jurusan/program studi IT (ilmu komputer)
Dan juga yang sudah bekerja seperti:
- Developer (programmer)
- Operation team
Cource content
- Silabus: Docker Container
- Management Docker Container
- Management Docker Images
- Run a command in a running container
- Expose services to outside using ports
- Copying files/content between container and filesystem
- Logging, Inspect, & Resource Usage Statistics Containers
- Run a Container using Environtment File
- Build Docker Image Overview
- Usage docker build
- FROM Instruction
- Environtment Replacement
- Copying Resources
- Excluding files/directories
- Label Instruction
- Execution Instruction
- CMD vs ENTRYPOINT?
- Exposing Ports
- User, Volumes and Working Directory
- Health Check Instruction
- Multiple Stage Builds
- Best practices for writing Dockerfiles
- Best practices for scanning images
- Build specific docker image by programming languages
- Build Docker Image for Java Webapp
- Build Java Web using maven-docker-plugin
- Build docker image for spring-boot
- Springboot - using Environtment
- Springboot - where data such as files/images we stored?
- Springboot - Using Database
- Build docker image for Angular Project
- Angular - Access Rest API
- Angular - Proxy to backend
- Build docker image for PHP
- Build Docker image for Laravel Framework
- Laravel - Using Frontend & Rest API
- Laravel - Using Database
- Overview of Docker Compose
- Get started with Docker Compose
- Overview of docker-compose CLI
- Compose file specification and syntax
- Environment variables in Compose
- Volume in Compose
- Share data between Containers in Compose
- Using sshfs for share data in Compose
- Using NFS for share data in Compose
- Networking Overview in Compose file
- Network links in Compose file
- Specify custom networks in Compose file
- Dependency between services in Compose file
- Build docker image using Compose file
- Using profiles with Compose file
- Multiple Compose files to Add & Override attribute
- Example use case of multiple compose files
- Scale services using compose command
- Use Compose in production
- Overview of Study Cases using docker for CI
- Setup environment for CI using Gitlab & Nexus OSS
- The `.gitlab-ci.yml` file
- Pipeline: PHP deployment using Gitlab CI
- Pipeline: Java Web deployment using Gitlab CI
- Pipeline: spring-boot deploy with Gitlab CI
- Pipeline: Angular deploy with Gitlab CI
- Pipeline: Laravel deploy with Gitlab CI
After taking this course, you’ll be able to?
Setelah mengikuti kelas ini diharapkan temen-temen bisa menguasai secara keseluruhan baik teori maupun praktek dan bisa mengimplementasikan di kehidupan sehari-hari. Contohnya
- Saya adalah seorang Developer/Programmer yang daily based/task membuat aplikasi bisnis. Ketika mendevelop aplikasi tersebut biasanya saya menggunakan docker untuk menjalankan beberapa backing service seperti Database, mail server dan lain-lain
- Saya adalah seorang DevOps enginer yang daily based/task membantu membuat pipeline CI/CD terkait aplikasi yang dibangun oleh developer. Ketika membuat pipeline tersebut biasanya saya menggunakan docker sebagai executor dari pipeline tersebut agar environment lebih dynamic dan clean tanpa adanya hardening.
- Saya adalah seorang Research and Developer (RnD) yang daily based/task yaitu Me-research suatu teknologi. Untuk melakukan research teknologi tersebut terkadang membutuhkan environment tertentu. Jika temen-temen menggunakan sistem operasi yang tidak disupport oleh teknologi yang sedang di research contohnya Microsoft SQL Server atau Oracle Database. Nah software tersebutkan hanya jalan di environment tertentu seperti Windows Server atau Linux jadi kita harus membuat virtualisasi atau container sebagai solusi.