Tôi xây dựng lại hình ảnh hoặc khởi động lại vùng chứa, dữ liệu cơ sở dữ liệu của tôi sẽ đi đâu? Nó đã biến mất?
- Không, dữ liệu không biến mất. Dữ liệu thời gian duy nhất bị xóa là nếu bạn xóa vùng chứa:
docker rm <my postgres container>
. Lần duy nhất điều này không đúng là nếu bạn gắn một ổ đĩa vào vùng chứa để hiển thị ổ đĩa dữ liệu:docker run -td -p 5432:5432 -v /mydata/volume:/var/lib/postgresql/data postgres:9.5.2
Tôi muốn sử dụng cơ sở dữ liệu của mình trong ứng dụng Flask (Docker), tôi cần đặt những gì vào cấu hình của mình? (DATABASE_URI, NAME, v.v.)
- Đây có thể là một chủ đề tranh luận nhưng tôi sẽ sử dụng một biến môi trường mà bạn đã đặt khi khởi động vùng chứa:
docker run -td -p 80:5000 -e POSTGRES_URL=172.12.20.1 mycontainer/flask:latest
Trong cấu hình của mình, bạn sẽ truy cậpos.getenv('POSTGRES_URL', 'localhost')
. Điều này cho phép bạn đặt mặc định thành localhost nếu vùng chứa được liên kết, nếu không bạn có thể trỏ nó đến một vùng chứa khác đang chạy trên máy khác. Điều này tốt hơn vì nó cho phép bạn triển khai linh hoạt hơn.
Tôi muốn sao lưu cơ sở dữ liệu của mình hoặc tải dữ liệu vào đó? Tôi có thể kết nối với nó không?
- Có, giống như bất kỳ thứ gì khác, bạn có thể kết nối với Postgres trên
IP:PORT
bằng cách sử dụng thông tin đăng nhập bạn đã chỉ định trong thời gian chạy vùng chứa.