Các ổ đĩa cung cấp khả năng kết nối các đường dẫn hệ thống tệp cụ thể của vùng chứa trở lại máy chủ. Nếu một thư mục hoặc một tệp trong vùng chứa được gắn kết, thì những thay đổi trong thư mục hoặc tệp đó cũng có thể được nhìn thấy trên máy chủ. chúng tôi sẽ sử dụng ánh xạ của một thư mục có trên máy chủ với đường dẫn vùng chứa
Ghi chú
Để thực hiện các thay đổi đối với tệp
version: "3.9"
services:
postgresql:
...
volumes:
- ./docker-volume/db:/var/lib/postgresql/data
...
3, bạn cần tải xuống tệp đó từ trang phát hành tại đây. Phiên bản mới nhất nằm ở đầu trangKhối lượng cho bộ chứa MYSQL
Sau đây là những thay đổi chúng ta phải thực hiện khi gắn thư mục cho mysql trong OpenMetadata
- Cập nhật hoặc thêm âm lượng trong docker-compose. tệp yml Mở tệp
4 được tải xuống từ trang Phát hành Liên kếtversion: "3.9" services: postgresql: ... volumes: - ./docker-volume/db:/var/lib/postgresql/data ...
version: "3.9"
services:
mysql:
...
volumes:
- ./docker-volume/db:/var/lib/mysql
...
Khối lượng cho bộ chứa PostgreSQL
Sau đây là những thay đổi chúng ta phải thực hiện khi gắn thư mục cho postgresql trong OpenMetadata
- Cập nhật hoặc thêm âm lượng trong docker-compose. tập tin yml. Mở tệp
4 được tải xuống từ trang Phát hành Liên kếtversion: "3.9" services: postgresql: ... volumes: - ./docker-volume/db:/var/lib/postgresql/data ...
version: "3.9"
services:
postgresql:
...
volumes:
- ./docker-volume/db:/var/lib/postgresql/data
...
Khối lượng cho bộ chứa Elaticsearch
Sau đây là những thay đổi chúng tôi phải thực hiện khi gắn thư mục cho Elaticsearch trong OpenMetadata
- Cập nhật hoặc thêm âm lượng trong docker-compose. tập tin yml. Mở tệp
4 được tải xuống từ trang Phát hành Liên kếtversion: "3.9" services: postgresql: ... volumes: - ./docker-volume/db:/var/lib/postgresql/data ...
version: "3.9"
services:
elasticsearch:
...
volumes:
- ./docker-volume/es-data:/usr/share/elasticsearch/data
...
Khối lượng cho container tiêu hóa
Sau đây là những thay đổi chúng tôi phải thực hiện khi gắn thư mục để nhập trong OpenMetadata. Ở đây chúng tôi sẽ duy trì các thư mục khác nhau cho các cấu hình, dags và bí mật được tạo dag
- Xóa phần bên dưới khỏi docker-compose. tập tin yml. Mở tệp
4 được tải xuống từ trang Phát hành Liên kếtversion: "3.9" services: postgresql: ... volumes: - ./docker-volume/db:/var/lib/postgresql/data ...
volumes:
ingestion-volume-dag-airflow:
ingestion-volume-dags:
ingestion-volume-tmp:
- Cập nhật hoặc thêm âm lượng trong docker-compose. tập tin yml. Mở tệp
4 được tải xuống từ trang Phát hành Liên kếtversion: "3.9" services: postgresql: ... volumes: - ./docker-volume/db:/var/lib/postgresql/data ...
version: "3.9"
services:
ingestion:
...
volumes:
- ./docker-volume/dag_config:/opt/airflow/dag_generated_configs
- ./docker-volume/dags:/opt/airflow/dags
- ./docker-volume/secrets:/tmp
...
Khi những thay đổi này được thực hiện trong docker-compose. tệp yaml Nó sẽ trông giống như ở định dạng bên dưới
version: "3.9"
services:
mysql:
container_name: openmetadata_mysql
image: openmetadata/db:0.13.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
expose:
- 3306
volumes:
- ./docker-volume/db:/var/lib/mysql
networks:
app_net:
ipv4_address: 172.16.240.10
ingestion:
container_name: openmetadata_ingestion
image: openmetadata/ingestion:0.13.0
depends_on:
- mysql
expose:
- 8080
ports:
- 8080:8080
networks:
- app_net
extra_hosts:
- "localhost:172.16.240.10"
- "localhost:172.16.240.11"
- "localhost:172.16.240.13"
volumes:
- ./docker-volume/dag_config:/opt/airflow/dag_generated_configs
- ./docker-volume/dags:/opt/airflow/dags
- ./docker-volume/secrets:/tmp
Khi những thay đổi này được thực hiện, hãy khởi động lại vùng chứa qua
docker compose down && docker compose up -d
Vì Hình ảnh Docker nhập của chúng tôi dựa trên hình ảnh Docker Airflow chính thức làm cơ sở, nên bạn nên cung cấp quyền phù hợp cho các thư mục lưu trữ cho người dùng luồng không khí chạy bên trong vùng chứa theo hướng dẫn được đề cập tại đây
Điều quan trọng là phải giữ dữ liệu liên tục cho các vùng chứa đang chạy cơ sở dữ liệu. Docker cung cấp cho bạn tùy chọn để giữ các tệp cơ sở dữ liệu liên tục trên ổ đĩa docker hoặc lưu trữ tệp trực tiếp trên máy chủ
Sử dụng một trong các tùy chọn bên dưới để giữ dữ liệu MySQL ổn định ngay cả sau khi tạo lại hoặc xóa vùng chứa docker
Tùy chọn 1 – Lưu trữ dữ liệu MySQL trên Docker Volumes
Khối lượng Docker được Docker ưu tiên cơ chế để lưu trữ dữ liệu liên tục của vùng chứa Docker. Bạn có thể dễ dàng tạo một Docker volume trên máy chủ của mình và đính kèm vào một Docker container
Hãy tạo một tệp docker-compose trên hệ thống của bạn với nội dung sau
soạn thảo docker. yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
phiên bản. '3'
dịch vụ.
db.
hình ảnh. mysql. 5. 7
container_name. db
môi trường.
MYSQL_ROOT_PASSWORD. my_secret_password
MYSQL_DATABASE. app_db
MYSQL_USER. db_user
MYSQL_PASSWORD. db_user_pass
cổng.
- "6033. 3306"
khối lượng.
- dbdata. / var / lib / mysql
khối lượng.
dbdata.
Cấu hình trên đã xác định một khối dữ liệu có tên là “dbdata”, được gắn vào vùng chứa MySQL và được gắn trên thư mục /var/lib/mysql. Đây là thư mục mặc định được sử dụng bởi MySQL để lưu trữ tất cả các tệp dữ liệu
Tiếp theo, chạy lệnh bên dưới để khởi chạy bộ chứa Docker
docker-compose up -d
đầu ra
________số 8Bạn có thể xem khối lượng docker bằng cách chạy lệnh
docker volume ls
Tùy chọn 2 – Lưu trữ dữ liệu MySQL trên Máy chủ
Chúng tôi khuyên bạn nên sử dụng dung lượng dữ liệu thay vì đặt tệp trên máy chủ. Tuy nhiên, nếu muốn, bạn có thể giữ các tệp cơ sở dữ liệu trên máy chủ. Trong mọi trường hợp bộ chứa docker bị chấm dứt, bạn có thể khởi chạy lại bộ chứa bằng các tệp dữ liệu hiện có
Tạo một thư mục để giữ các tệp dữ liệu MySQL của bạn. Tôi đang tạo cấu trúc thư mục bên dưới trong thư mục hiện tại
version: "3.9"
services:
postgresql:
...
volumes:
- ./docker-volume/db:/var/lib/postgresql/data
...
0Sau đó cấu hình docker-compose. yml để sử dụng. /data/db dưới dạng ổ đĩa để lưu trữ tất cả các tệp được tạo bởi máy chủ MySQL. Tiếp theo tạo tệp soạn thảo trong thư mục hiện tại
soạn thảo docker. yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
phiên bản. '3'
dịch vụ.
db.
hình ảnh. mysql. 5. 7
container_name. db
môi trường.
MYSQL_ROOT_PASSWORD. my_secret_password
MYSQL_DATABASE. app_db
MYSQL_USER. db_user
MYSQL_PASSWORD. db_user_pass
cổng.
- "6033. 3306"
khối lượng.
- . / dữ liệu / db. / var / lib / mysql
Sau khi tạo tệp, chỉ cần chạy lệnh bên dưới để khởi chạy vùng chứa
docker-compose up -d
đầu ra
version: "3.9"
services:
postgresql:
...
volumes:
- ./docker-volume/db:/var/lib/postgresql/data
...
2Trong trường hợp này, bộ chứa MySQL tạo tất cả các tệp trên máy chủ dưới. thư mục /data/db. Để xem các tệp này, chỉ cần chạy lệnh bên dưới