DevOps AI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
No Result
View All Result
Home DevOps & Cloud

Thay đổi nội dung dockerfile mà không build lại image

Quân Nguyễn by Quân Nguyễn
25 Tháng 4, 2025
in DevOps & Cloud
0
Share on FacebookShare on Twitter

Related Post

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

16 Tháng 6, 2025
DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên

DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên

7 Tháng 6, 2025

Ưu Đãi Đặc Biệt: Nhận Ngay Coupon Giảm 25% cho Bộ Đề Luyện Thi Cloud!

29 Tháng 4, 2025

Đổi MTU cho Calico trong Kubernetes

30 Tháng 4, 2025

Trong bài viết trước mình đã giới thiệu cách thay đổi nội dung file thông qua biến môi trường trong docker, nếu bạn chưa đọc có thể ghé qua tại đây

Trong bài viết này, mình xin chia sẻ một cách làm khác đó là dùng volume và init container, đây làm một kĩ thuật phổ biến ở K8s.

Init container là một dạng container được khởi chạy lên trước container chín, nó sẻ khởi tạo data cần thiết đẻ container chín có thể hoạt động. ví dụ bạn cần tạo một container database với một vài table đươc tạo sẳn, thì bạn cần tạo volume, dùng init container để đưa data vào volume, sau đó mount vào container database.

Docker-compose

mình sẻ sử dụng docker-compose đẻ khởi chạy 

Init container

Init container là một dạng container được khởi chạy lên trước container chín, nó sẻ khởi tạo data cần thiết đẻ container chín có thể hoạt động. ví dụ bạn cần tạo một container database với một vài table đươc tạo sẳn, thì bạn cần tạo volume, dùng init container để đưa data vào volume, sau đó mount vào container database.

Docker-compose

mình sẻ sử dụng docker-compose đẻ khởi chạy 

				
					version: "3.4"
services:
  init:
    image: bash
    container_name: init 
    command: bash -c "echo 123 > /home/test.txt"
    volumes:
      - init-data:/home
				
			

Mình sẻ dùng `command: bash -c “echo 123 > /home/test.txt”` để tạo file cần cho container chín sử dụng. File này mình sẽ được lưu vào volume init-data.

				
					  ...
  main:
    image: busybox
    container_name: main  
    command: ["tail", "-f", "/dev/null"]
    volumes:
      - init-data:/home
				
			

giả sử mình dùng một container main để sử dụng data đươc tạo ra từ init container.

docker-compose hoàn chỉn sẽ như thế này.

				
					version: "3.4"
services:
  init:
    image: bash
    container_name: init 
    command: bash -c "echo 123 > /home/test.txt"
    volumes:
      - init-data:/home
  main:
    image: busybox
    container_name: main  
    command: ["tail", "-f", "/dev/null"]
    volumes:
      - init-data:/home
volumes:
  init-data: {}
				
			

Tạo nhiều file cùng lúc, hoặc file nhiều dòng

Để tạo nhiều file cũng lúc hoặc file nhiều dòng bạn làm như sau

				
					version: "3.4"
services:
  init:
    image: bash
    container_name: init 
    command: 
      - bash
      - -c
      - |
        cat <<EOT > /home/file1.txt
        rule_files:
          - "/alertmanager/alert.rules"
        scrape_configs:
          - job_name: prometheus
            scrape_interval: 5s
            scrape_timeout: 2s
            honor_labels: true
            static_configs:
            - targets: ['prometheus:9090']
            static_configs:
            - targets: ['cadvisor:8080']
        EOT
        cat <<EOT > /home/file2.txt
        rule_files:
          - "/alertmanager/alert.rules"
        scrape_configs:
          - job_name: prometheus
            scrape_interval: 5s
            scrape_timeout: 2s
            honor_labels: true
        EOT
    volumes:
      - exp-data:/home
  main:
    image: busybox
    container_name: main  
    command: ["tail", "-f", "/dev/null"]
    volumes:
      - exp-data:/home
volumes:
  exp-data: {}
				
			

Depends_on

Để cho container chín luôn chạy đúng, hoặc tránh lỗi file không tìm thấy, bạn cần đảm bảo rằng container init luôn  động trước và container main sẻ khởi động lên sau.

				
					    ...
    depends_on:
      init:
        condition: service_started
				
			
Tags: buildcontainerdatabasedevopsdockerkiến trúc
Quân Nguyễn

Quân Nguyễn

Related Posts

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent
AI & Automation

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

by devopsify
16 Tháng 6, 2025
DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên
Bảo mật

DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên

by devopsify
7 Tháng 6, 2025
Ưu Đãi Đặc Biệt: Nhận Ngay Coupon Giảm 25% cho Bộ Đề Luyện Thi Cloud!
Tin tức

Ưu Đãi Đặc Biệt: Nhận Ngay Coupon Giảm 25% cho Bộ Đề Luyện Thi Cloud!

by devopsify
29 Tháng 4, 2025
Next Post
Cài đặt ClamAV antivirus trên Ubuntu

Cài đặt ClamAV antivirus trên Ubuntu

Để lại một bình luận Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Recommended

Hướng dẫn cài đặt Kubernetes trên Ubuntu 22.04

Hướng dẫn cài đặt Kubernetes trên Ubuntu 22.04

1 Tháng 5, 2025
Các website demo hay được sử dụng cho thực hành Automation Test

Các website demo hay được sử dụng cho thực hành Automation Test

11 Tháng 6, 2025
Cài đặt Maven trên Windows

Cài đặt Maven trên Windows

11 Tháng 6, 2025
Cài đặt Grafana – Loki – Promtail monitoring log Container

Cài đặt Grafana – Loki – Promtail monitoring log Container

1 Tháng 5, 2025
Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

16 Tháng 6, 2025
MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

16 Tháng 6, 2025
DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

13 Tháng 6, 2025
GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

11 Tháng 6, 2025
DevOpsify

Cộng đồng DevOps Việt Nam chia sẽ kiến thức giúp tăng tốc quá trình phát triển ứng dụng và tự động hóa trong lĩnh vực Cloud DevOps & AI.

Bài viết mới

  • Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent
  • MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật
  • DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

Categories

  • AI & Automation
  • Bảo mật
  • Chưa phân loại
  • DevOps & Cloud
  • Tin tức
No Result
View All Result
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud

© 2025 DevOpsify