- 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
                    
                 
Excluding files/directories
Hai semuanya, di materi kali ini kita akan membahas tentang Include/Exclude Resources yang kita COPY/ADD pada Dockerfile menggunakan .dockerignore seperti berikut:
Before the docker CLI sends the context to the docker daemon, it looks for a file named .dockerignore in the root directory of the context. If this file exists, the CLI modifies the context to exclude files and directories that match patterns in it. This helps to avoid unnecessarily sending large or sensitive files and directories to the daemon and potentially adding them to images using ADD or COPY. The CLI interprets the .dockerignore file as a newline-separated list of patterns similar to git ignore
This file causes the following build behavior:
| Rule | Behavior | 
|---|---|
# comment | 
      Ignored | 
*/temp* | 
      Exclude files and directories whose names start with temp in any immediate subdirectory of the root. For example, the plain file /somedir/temporary.txt is excluded, as is the directory /somedir/temp. | 
    
*/*/temp* | 
      Exclude files and directories starting with temp from any subdirectory that is two levels below the root. For example, /somedir/subdir/temporary.txt is excluded. | 
    
temp? | 
      Exclude files and directories in the root directory whose names are a one-character extension of temp. For example, /tempa and /tempb are excluded. | 
    
!README.md | 
      except README.md are excluded from the context. | 
    
For Example
Buatlah file dalam folder yang sama dengan Dockerfile seperti berikut:
dan buat file bernama .dockerignore seperti berikut isinya:
Kemudian buatlah file lagi sebagai contoh
README.mdContribution.md.idea/connection.xml
Jika dijalankan maka hasilnya seperti berikut:
➜ 07-dockerfile  ls
    Directory: C:\Users\dimasm93\Workspaces\youtube\docker\07-dockerfile
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         6/13/2021   2:26 PM                .idea
-a----         6/13/2021   2:26 PM            115 .dockerignore
-a----         6/13/2021   1:52 PM           2092 belajar-docker-07b-copy-resource.tar.gz 
-a----         6/13/2021   2:26 PM             17 Contribution.md
-a----         6/13/2021   2:05 PM            129 Dockerfile
-a----         6/13/2021   2:26 PM             19 README.md
 ➜ 07-dockerfile ✗  docker build -t dimmaryanto93/centos:0.4 .       
[+] Building 0.2s (8/8) FINISHED
 => [internal] load build definition from Dockerfile                                 0.0s 
 => => transferring dockerfile: 164B                                                 0.0s 
 => [internal] load .dockerignore                                                    0.0s 
 => => transferring context: 34B                                                     0.0s 
 => [internal] load metadata for docker.io/library/centos:7                          0.0s 
 => [1/3] FROM docker.io/library/centos:7                                            0.0s 
 => [internal] load build context                                                    0.0s 
 => => transferring context: 287B                                                    0.0s 
 => CACHED [2/3] RUN mkdir -p /usr/share/nginx/html                                  0.0s 
 => [3/3] ADD . /usr/share/nginx/html                                                0.0s 
 => exporting to image                                                               0.0s 
 => => exporting layers                                                              0.0s 
 => => writing image sha256:7109257718d355a5efa27e9d013337a7d41f56493b11b8e9e103ebf  0.0s 
 => => naming to docker.io/dimmaryanto93/centos:0.4                                  0.0s 
➜ 07-dockerfile  docker run --rm -it dimmaryanto93/centos:0.4     
Dockerfile  README.md  belajar-docker-07b-copy-resource.tar.gz
Cleanup
Seperti biasa, setelah kita mencoba praktikan kita bersih-bersih dulu ya. berikut perintahnya:
Yuk simak juga videonya,
Dan jika temen-temen belajar hal baru kali ini jangan lupa buat Like, Subcribe, dan Share ke temen kalian. Terimakasih!!!