PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Basis data yang bertahan menggunakan volume buruh pelabuhan

Menurut Dockment of Docker Compose , ketika Anda menulis sesuatu seperti:

volumes:
  - /var/lib/postgresql/data

Itu membuat volume buruh pelabuhan baru dan memetakannya ke /var/lib/postgresql/data di dalam wadah. Oleh karena itu, setiap kali Anda menjalankan docker-compose up dan docker-compose down , itu menciptakan volume baru. Anda dapat mengkonfirmasi perilaku dengan docker volume ls .

Untuk menghindarinya, Anda memiliki dua opsi:

(A) Memetakan direktori host ke dalam wadah

Anda dapat memetakan direktori host ke dalam wadah menggunakan <HOST_PATH>:<CONTAINER_PATH> .

volumes:
  - /path/to/your/host/directory:/var/lib/postgresql/data

Data postgresql akan disimpan ke /path/to/your/host/directory dari host kontainer.

(B) Gunakan penampung eksternal

docker-compose memiliki opsi kontainer eksternal .Jika disetel ke true, itu tidak akan selalu membuat volume. Berikut contohnya.

version: '2'
services:
  dbdata:
    image: postgres:9.5.2
    volumes:
      - mypostgresdb:/var/lib/postgresql/data
volumes:
  mypostgresdb:
    external: true

Dengan external: true , docker-compose tidak akan membuat mypostgredb volume, jadi Anda harus membuatnya sendiri menggunakan perintah berikut:

docker volume create --name=mypostgredb

Data postgresql akan disimpan ke dalam volume buruh pelabuhan bernama mypostgredb . Baca referensi untuk lebih detail.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lambat LEFT JOIN di CTE dengan interval waktu

  2. Kesalahan postgress - pemasangan bundel

  3. Rails + Postgres drop error:database sedang diakses oleh pengguna lain

  4. Server PostgreSQL tidak akan mati di Lion (Mac OS 10.7)

  5. Menerapkan dan Mengelola PostgreSQL 11:Baru di ClusterControl 1.7.1