- person Penulis:
-
Dimas Maryanto
PT. Tabeldata Informatika
- account_balance_wallet Donasi via:
- Saweria a/n Dimas Maryanto
- lock_open Join Premium Members:
- Udemy.com
-
Daftar Materi
-
1. Pengenalan Docker 8
-
2. Docker Registry 3
-
3. Docker Container CLI 8
-
1. Docker CLI (Command Line Interface)
2. Management Docker Container
3. Management Docker Images
4. Run a command in a running container
5. Expose services to outside using ports
6. Copying files/content between container and filesystem
7. Logging, Inspect, & Resource Usage Statistics Containers
8. Run a Container using Environtment File
-
4. Docker Networks 7
-
5. Docker Volumes 5
-
6. Dockerfile 15
-
1. Build Docker Image Overview
2. Usage docker build
3. FROM Instruction
4. Environtment Replacement
5. Copying Resources
6. Excluding files/directories
7. Label Instruction
8. Execution Instruction
9. CMD vs ENTRYPOINT?
10. Exposing Ports
11. User, Volumes and Working Directory
12. Health Check Instruction
13. Multiple Stage Builds
14. Best practices for writing Dockerfiles
15. Best practices for scanning images
-
7. Study Kasus: Build docker image 14
-
1. Build specific docker image by programming languages
2. Build Docker Image for Java Webapp
3. Build Java Web using maven-docker-plugin
4. Build docker image for spring-boot
5. Springboot - using Environtment
6. Springboot - where data such as files/images we stored?
7. Springboot - Using Database
8. Build docker image for Angular Project
9. Angular - Access Rest API
10. Angular - Proxy to backend
11. Build docker image for PHP
12. Build Docker image for Laravel Framework
13. Laravel - Using Frontend & Rest API
14. Laravel - Using Database
-
8. Docker Compose 19
-
1. Overview of Docker Compose
2. Get started with Docker Compose
3. Overview of docker-compose CLI
4. Compose file specification and syntax
5. Environment variables in Compose
6. Volume in Compose
7. Share data between Containers in Compose
8. Using sshfs for share data in Compose
9. Using NFS for share data in Compose
10. Networking Overview in Compose file
11. Network links in Compose file
12. Specify custom networks in Compose file
13. Dependency between services in Compose file
14. Build docker image using Compose file
15. Using profiles with Compose file
16. Multiple Compose files to Add & Override attribute
17. Example use case of multiple compose files
18. Scale services using compose command
19. Use Compose in production
-
9. Study Kasus: Docker Compose 7
-
10. Docker Context 8
-
11. Study Kasus: Docker for CI 8
-
1. Overview of Study Cases using docker for CI
2. Setup environment for CI using Gitlab & Nexus OSS
3. The `.gitlab-ci.yml` file
4. Pipeline: PHP deployment using Gitlab CI
5. Pipeline: Java Web deployment using Gitlab CI
6. Pipeline: spring-boot deploy with Gitlab CI
7. Pipeline: Angular deploy with Gitlab CI
8. Pipeline: Laravel deploy with Gitlab CI
-
12. Docker Machine 7
-
13. Study Kasus: Ansible for Docker 4
-
14. Docker Swarm
- Materi: belum tersedia...
-
15. Study Kasus: Docker Swarm
- Materi: belum tersedia...
-
16. Docker on Cloud using GCP
- Materi: belum tersedia...
- Lastest Posts
- 09 Apr 23 Working with Deployment object
- 26 Feb 23 Study cases: Microservice apps (...
- 05 Feb 23 Welcome to the Nutanix HCF (Hybr...
- 04 Feb 23 Silabus SRE - Nutanix AHV: Pemul...
- 17 Jan 23 What is Workload Resources?
- 17 Jan 23 Overview Kubernetes Workloads re...
- 15 Jan 23 Getting started with Transaction...
- 14 Jan 23 Overview of Concurrency Control
- 14 Jan 23 Time your practice (part 3)
- 08 Jan 23 Cleanup Data from Table
Docker Overview
Hai semuanya, di materi kali ini kita akan berkenalan dulu dengan teknology container menggunakan Docker. Adapun materinya seperti berikut
- Apa itu Docker?
- Manfaat menggunakan Docker Platform?
- Docker Architecture
- Istilah-istilah dalam Docker?
- Daemon
- Docker Client
- Docker Registry
- Images
- Containers
- Isolated workspace
Docker Overview
Sebagai seorang Research and Development (RnD) dan sekaligus Software Engineer, tidak jarang berurusan dengan product brended sekelas IBM, Oracle dan lainnya. Misalnya karena kerjaan kita adalah mendevelop aplikasi. Aplikasi tersebut harus run di product IBM misalnya JBoss EAP kemudian Untuk database menggunakan product Microsoft MS-SQL Server.
Permasalahannya? sebenarnya product tersebut punya Environment / Spesifikasi masing-masing sebagai contohnya Microsoft SQL Server hanya bisa di running di env Microsoft Windows Server, Microsoft Azure, dan Linux Server sedangkan tidak semua Developer memiliki env tersebut.
Solusinya ada beberapa cara mulai dari install ulang OS, Virtualization, dan Containerization.
- Cara yang paling sederhana adalah install ulang OS, cuman secara workflow gak terlalu enak karena harus adaptasi lagi dengan OS tersebut dan juga software-softwarenya.
- Jadi dulu biasanya saya menggunakan Virtualbox untuk menginstall OS tertentu tpi secara development jadi kurang nyaman karena ada beberapa masalah dengan Driver Compatibility, limit resouces dan lain-lain.
- Containerization, salah satunya yang saya sering gunakanan beberapa tahun ini yaitu dengan menggunakan Docker Platform.
What is Docker
Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. With Docker, you can manage your infrastructure in the same ways you manage your applications. By taking advantage of Docker’s methodologies for shipping, testing, and deploying code quickly, you can significantly reduce the delay between writing code and running it in production.
The Docker platform
Docker bisa melakukan packaging dan me-running application di isolation envirotnment di atas Operation System nah itu di sebut container. Dengan isolation dan security, jadi bisa menjalakan banyak aplikasi dalam suatu host. Containers yaitu lightweight dan mengandung apapun yang dibutuhkan untuk menjalankan aplikasi. jadi kita gak perlu menginstall dependency dari software yang kita buat dalam containernya, Contohnya klo kita jalankan container PostgreSQL Database
nah untuk editornya (psql
) kita tidak perlu diinstall pada host kita.
What can I use Docker for?
Docker ini 3 s/d 4 tahun lalu, saya hanya gunakan docker hanya sebagai Development Env karena saya sering dan banyak sekali gonta-ganti software seperti database, web server dan lain-lain. Jadi karena storage agak kecil jadi begitu selesai project harus hapus software dulu, jadi agak ribet aja. Dengan docker ini menjadi solusi saya jadi begitu project yang saya kerjakan selesai jadi saya bisa aman untuk hapus dan install lagi dengan mudah, jadi kesimpulannya di laptop saya hanya install software yang betul-betul digunakan saja.
Sekarang docker ini makin terkenal, yang awalnya cuman sebagai support Development sekarang malahan dipake untuk Production. berikut adalah beberapa scenario kegunaan dari Docker:
- Your developers write code locally and share their work with their colleagues using Docker containers.
- They use Docker to push their applications into a test environment and execute automated and manual tests.
- When developers find bugs, they can fix them in the development environment and redeploy them to the test environment for testing and validation.
- When testing is complete, getting the fix to the customer is as simple as pushing the updated image to the production environment.
Responsive deployment and scaling
Docker’s container-based platform allows for highly portable workloads. Docker containers can run on a developer’s local laptop, on physical or virtual machines in a data center, on cloud providers, or in a mixture of environments.
Docker Architecture
Docker menggunakan client-server architecture. The Docker client talks to the Docker daemon, which does the heavy lifting of building, running, and distributing your Docker containers. The Docker client and daemon can run on the same system, or you can connect a Docker client to a remote Docker daemon. The Docker client and daemon communicate using a REST API, over UNIX sockets or a network interface. Another Docker client is Docker Compose, that lets you work with applications consisting of a set of containers.
Docker interfaces
Ketika docker di install pada host, kita di sediakan beberapa interfaces:
- Docker Daemon (
dockerd
), yaitu Docker API dan untuk memanage Docker Objects seperti images, containers, networks, volumes. - Docker Client (
docker
dandocker-compose
), yaitu Program Interface yang berkomunikasi dengan Docker Daemon - Docker Registries, yaitu untuk menyimpan docker image (
push
) secara public dan private, selain itu juga kita mengambil image yang telah tersedia (pull
).
Docker Objects
Ketika kita menggunakan docker, kita akan menggunakan beberapa object diantaranya:
- Docker Images, An image is a read-only template with instructions for creating a Docker container.
- Docker Containers, A container is a runnable instance of an image.
- Docker Volumes, A volume is object storage relateable with containers
- Docker Networks, A network is object interaction between containers
Yuk simak juga videonya,
Dan jika temen-temen belajar hal baru kali ini jangan lupa buat Like, Subcribe, dan Share ke temen kalian. Terimakasih!!!