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

Một số lưu ý về Docker Volume

Hiếu Tạ by Hiếu Tạ
30 Tháng 4, 2025
in DevOps & Cloud
0
Một số lưu ý về Docker Volume
Share on FacebookShare on Twitter

Khi các website kết nối với database và nhập data, data đó được lưu trữ ở đâu? Nó nằm trong một tệp bên trong container? Điều gì xảy ra với data đó khi bạn stop container hoặc delete container đó? Bạn sẽ lưu trữ dữ liệu của mình như thế nào nếu muốn nâng cấp database?…

Thường khi nhắc tới  “type of mount” mình thấy người ta thường để ý các loại chính là bind, volume, tmpfs. Tuy nhiên nội dung bài viết hôm nay không để giới thiệu mà là note lại một số lưu ý về một trong hai type này là volume. Trong các bài viết khác mình sẽ note về các loại còn lại sau

Trong trường hợp bạn khai báo VOLUME trong dockerfile nó sẽ tự random ra một volume name và mount đường dẫn data bạn chỉ định vô đó, như kiểu trong dockerfile dưới đây mình sẽ mount đường dẫn /home/app/sm/eSIM

Related Post

Tổng quan về Cloudformation

13 Tháng 6, 2022

Lên lịch stop/start AuroraDB với lambda và Cloudwatch

25 Tháng 4, 2025

Tool cho dân lập trình Java

25 Tháng 4, 2025

Connection string

25 Tháng 4, 2025

Kết quả sẽ được như sau

Một volume với random name đã được sinh ra khi run container.

Chúng ta có thể để ý data trong container sẽ được lưu ở server ở Mount path. Tuy nhiên, giả sử trong trường hợp bạn build lại một image mới và start nó lên. Thì volume cũng sẽ bị delete, một volume mới với random name mới sẽ được hình thành và đương nhiên Mount path lúc này data sẽ null.

Chính vì thế hiện tại có nhiều cách khác như bạn có thể tạo ra sẵn một volume mới

docker create volume /volume_name/
docker volume ls

Như hình mình đã tạo một volume name mới sm-test-eSIM giành cho môi trường test, môi trường preprod hay prod thì tương tự là sm-preprod-eSIM hay sm-prod-eSIM. Lúc này trong dockerfile mình sẽ xóa cái dòng VOLUME /home/app/sm/eSIM gì đó đi vì nó không cần thiết nữa. Tuy nhiên khi run container mình sẽ thêm một số tham số để nó mount với volume mình vừa tạo

Mẫu câu lệnh như dưới đây, $ có thể là test, preprod hay prod gì đó nhé

docker run -d -p $:8080 --name $-$ --restart=always -v sm-$-eSIM:/home/app/sm/eSIM $-$:v$

Kiểm tra kết quả ta sẽ được như hình trên. Lúc này dù có build 1 image mới và run container thì data luôn luôn được lưu trữ ở volume vừa tạo thay vì bạn xài một volume random.

Trên đây là một lưu ý nhỏ của mình trong việc triển khai một container lên nhiều môi trường cũng như sử dụng volume. Bạn nào có ý tưởng, giải pháp khác thì cho mình xin nhé. Hẹn gặp các bạn trong những loại docker storage tiếp theo.

Chúc các bạn thành công!!!

Tags: databasedocker volume
Hiếu Tạ

Hiếu Tạ

Graduated as a Software Engineer. I have more than 3-year experience in developing software and DevOps, used to many services of AWS, and Azure, K8S, and using Windows or Linux on-premies proficiently to set up servers, proxy, build and deploy multiple programming languages (Java, GO, NET,...)..... Experience with CMS such SiteCore, ElasticPath, AEM... Implement CICD via Jenkins scripting, infrastructure as code via Terraform, and AWS Cloud Formation.

Related Posts

Tin tức

Tổng quan về Cloudformation

by luuthanhtu
13 Tháng 6, 2022
DevOps & Cloud

Lên lịch stop/start AuroraDB với lambda và Cloudwatch

by Quân Nguyễn
25 Tháng 4, 2025
DevOps & Cloud

Tool cho dân lập trình Java

by devopsify
25 Tháng 4, 2025
Next Post
Setup NGINX trên Centos7 không qua yum install

Setup NGINX trên Centos7 không qua yum install

Để 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