Cài đặt Backup Odoo trên Docker

Để tải hai image Odoo và PostgreSQL, bạn có thể sử dụng lệnh docker pull với tên và tag của image tương ứng. Dưới đây là các bước để tải chúng từ Docker Hub:

1. Tải image Odoo

Để tải phiên bản mới nhất của Odoo, bạn chạy lệnh:

docker pull odoo:latest

Lệnh này sẽ tải về image Odoo mới nhất (phiên bản 17) từ Docker Hub.

2. Tải image PostgreSQL

Để tải image postgres:12.20-alpine3.20 (phiên bản nhẹ của PostgreSQL 12 dựa trên Alpine), bạn chạy lệnh:

docker pull postgres:12.20-alpine3.20

Lệnh này sẽ tải về phiên bản PostgreSQL dựa trên Alpine Linux, được tối ưu hóa để có kích thước image nhỏ.

Các bước thực hiện:

  1. Mở terminal hoặc command prompt.
  2. Sử dụng các lệnh docker pull ở trên để tải cả hai image.
  3. Sau khi image được tải về, chúng sẽ có sẵn trên máy tính của bạn để sử dụng trong các container.

Xác nhận tải xuống:

Sau khi tải các image, bạn có thể xác nhận rằng chúng đã được tải về bằng cách chạy lệnh:

docker images

Lệnh này sẽ liệt kê tất cả các image hiện có trên máy tính của bạn, bao gồm cả image Odoo và PostgreSQL mà bạn vừa tải về.

Để cài đặt Odoo trên Docker với khả năng truy cập qua localhost và IP, đồng thời đảm bảo truy cập được PostgreSQL thông qua IP, chúng ta sẽ thực hiện các bước sau:

  1. Tạo một mạng Docker:
docker network create odoo_network
  1. Khởi chạy container PostgreSQL:
docker run -d --name db --network odoo_network -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres -p 5432:5432 postgres:12.20-alpine3.20
  1. Khởi chạy container Odoo:
docker run -d --name odoo --network odoo_network -p 8069:8069 -e HOST=db -e USER=odoo -e PASSWORD=odoo odoo:latest
  1. Kiểm tra và đảm bảo cả hai container đang chạy:
docker ps

Giải thích:

  • Mạng odoo_network cho phép các container giao tiếp với nhau.
  • PostgreSQL container được cấu hình với user, password và database.
  • Odoo container được kết nối với PostgreSQL thông qua biến môi trường.
  • Cổng 8069 của Odoo và 5432 của PostgreSQL được mở ra bên ngoài.

Truy cập:

  • Localhost: http://localhost:8069
  • IP máy chủ: http://:8069
  • PostgreSQL: :5432

Lưu ý:

  • Đảm bảo mở cổng 8069 và 5432 trên tường lửa của máy chủ.
  • Thay đổi mật khẩu mặc định cho bảo mật.
  • Sử dụng volumes để lưu trữ dữ liệu bền vững nếu cần.

Để sử dụng volumes lưu trữ dữ liệu bền vững cho Odoo và PostgreSQL trên đĩa D:/OdooERP, chúng ta sẽ điều chỉnh các lệnh Docker run. Đây là hướng dẫn chi tiết:

  1. Tạo cấu trúc thư mục:
    Trước tiên, tạo các thư mục sau trên đĩa D:
D:\OdooERP\
├── postgresql
└── odoo
    ├── addons
    └── data
  1. Tạo mạng Docker (nếu chưa có):
docker network create odoo_network
  1. Khởi chạy container PostgreSQL với volume:
docker run -d --name db --network odoo_network ^
-e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres ^
-v D:/OdooERP/postgresql:/var/lib/postgresql/data ^
-p 5432:5432 postgres:12.20-alpine3.20
  1. Khởi chạy container Odoo với volumes:
docker run -d --name odoo --network odoo_network ^
-v D:/OdooERP/odoo/addons:/mnt/extra-addons ^
-v D:/OdooERP/odoo/data:/var/lib/odoo ^
-p 8069:8069 ^
-e HOST=db -e USER=odoo -e PASSWORD=odoo ^
odoo:latest

Giải thích:

  • Dấu ^ được sử dụng để xuống dòng trong command prompt Windows. Nếu bạn sử dụng PowerShell, hãy thay ^ bằng backtick `.
  • Volume PostgreSQL: -v D:/OdooERP/postgresql:/var/lib/postgresql/data map thư mục dữ liệu PostgreSQL vào D:/OdooERP/postgresql.
  • Volumes Odoo:
  • -v D:/OdooERP/odoo/addons:/mnt/extra-addons cho phép thêm custom addons.
  • -v D:/OdooERP/odoo/data:/var/lib/odoo lưu trữ dữ liệu Odoo.

Lưu ý quan trọng:

  1. Quyền truy cập: Đảm bảo Docker có quyền truy cập vào thư mục D:/OdooERP.
  2. SELinux: Nếu bạn đang sử dụng Linux với SELinux, bạn có thể cần thêm :z vào cuối mỗi ánh xạ volume.
  3. Sao lưu: Thường xuyên sao lưu thư mục D:/OdooERP để đảm bảo an toàn dữ liệu.
  4. Phân quyền: Trên Windows, bạn có thể cần điều chỉnh quyền truy cập cho các thư mục được chia sẻ.

Để khởi động lại containers sau khi tắt máy:

docker start db
docker start odoo

Với cách này, dữ liệu của bạn sẽ được lưu trữ bền vững trên đĩa D và sẽ không bị mất khi containers bị xóa hoặc cập nhật.

Tôi sẽ hướng dẫn bạn qua quá trình lưu container lên Docker Hub, sao lưu dữ liệu, và sau đó cài đặt và phục hồi trên một máy tính khác. Đây là hướng dẫn chi tiết:

  1. Lưu container lên Docker Hub:

a) Đăng nhập vào Docker Hub từ terminal:

docker login

b) Tạo image từ container đang chạy:

docker commit odoo your-dockerhub-username/odoo:latest
docker commit db your-dockerhub-username/odoo-db:latest

c) Đẩy images lên Docker Hub:

docker push your-dockerhub-username/odoo:latest
docker push your-dockerhub-username/odoo-db:latest
  1. Sao lưu dữ liệu:

a) Tạo thư mục sao lưu:

mkdir D:\OdooERP_Backup

b) Sao chép dữ liệu:

xcopy /E /I D:\OdooERP D:\OdooERP_Backup

c) Nén thư mục sao lưu:

powershell Compress-Archive -Path D:\OdooERP_Backup -DestinationPath D:\OdooERP_Backup.zip
  1. Cài đặt và phục hồi trên máy tính khác:

a) Cài đặt Docker trên máy tính mới.

b) Đăng nhập vào Docker Hub:

docker login

c) Tải images từ Docker Hub:

docker pull your-dockerhub-username/odoo:latest
docker pull your-dockerhub-username/odoo-db:latest

d) Tạo cấu trúc thư mục trên máy mới:

mkdir D:\OdooERP\postgresql
mkdir D:\OdooERP\odoo\addons
mkdir D:\OdooERP\odoo\data

e) Giải nén dữ liệu sao lưu (sau khi chuyển file zip sang máy mới):

powershell Expand-Archive -Path D:\OdooERP_Backup.zip -DestinationPath D:\

f) Tạo mạng Docker:

docker network create odoo_network

g) Khởi chạy container PostgreSQL:

docker run -d --name db --network odoo_network ^
-e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres ^
-v D:/OdooERP/postgresql:/var/lib/postgresql/data ^
-p 5432:5432 your-dockerhub-username/odoo-db:latest

h) Khởi chạy container Odoo:

docker run -d --name odoo --network odoo_network ^
-v D:/OdooERP/odoo/addons:/mnt/extra-addons ^
-v D:/OdooERP/odoo/data:/var/lib/odoo ^
-p 8069:8069 ^
-e HOST=db -e USER=odoo -e PASSWORD=odoo ^
your-dockerhub-username/odoo:latest

Lưu ý quan trọng:

  1. Đảm bảo rằng phiên bản Docker trên máy mới tương thích với phiên bản bạn sử dụng để tạo images.
  2. Kiểm tra quyền truy cập vào thư mục D:/OdooERP trên máy mới.
  3. Nếu bạn đã thay đổi bất kỳ cài đặt nào (như tên người dùng, mật khẩu), hãy đảm bảo cập nhật chúng trong lệnh chạy container.
  4. Sau khi khởi chạy, kiểm tra logs của containers để đảm bảo không có lỗi:
   docker logs db
   docker logs odoo
  1. Truy cập Odoo qua trình duyệt: http://localhost:8069 (hoặc IP của máy mới)
  2. Nếu bạn gặp vấn đề về quyền truy cập file, bạn có thể cần điều chỉnh quyền cho các thư mục được chia sẻ trên Windows.

Quy trình này sẽ giúp bạn sao lưu toàn bộ hệ thống Odoo, bao gồm cả dữ liệu và cấu hình, và khôi phục nó trên một máy tính khác. Tuy nhiên, hãy luôn thận trọng khi xử lý dữ liệu quan trọng và thực hiện các bước kiểm tra sau khi khôi phục để đảm bảo mọi thứ hoạt động như mong đợi.

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

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 *

Giỏ hàng
Lên đầu trang