मैं Docker वेबसाइट पर बताए अनुसार PostgreSQL डेटाबेस को बैकअप / रिस्टोर करने का प्रयास कर रहा हूं, लेकिन डेटा को पुनर्स्थापित नहीं किया गया है।
डेटाबेस छवि द्वारा उपयोग किए गए वॉल्यूम हैं:
VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/postgresql"]
और CMD है:
CMD ["/usr/lib/postgresql/9.3/bin/postgres", "-D", "/var/lib/postgresql/9.3/main", "-c", "config_file=/etc/postgresql/9.3/main/postgresql.conf"]
मैं इस आदेश के साथ DB कंटेनर बनाता हूं:
docker run -it --name "$DB_CONTAINER_NAME" -d "$DB_IMAGE_NAME"
फिर मैं मैन्युअल रूप से कुछ डेटा डालने के लिए एक और कंटेनर कनेक्ट करता हूं:
docker run -it --rm --link "$DB_CONTAINER_NAME":db "$DB_IMAGE_NAME" sh -c 'exec bash'
psql -d test -h $DB_PORT_5432_TCP_ADDR
# insert some data in the db
<CTRL-D>
<CTRL-D>
टार संग्रह तब बनाया गया है:
$ sudo docker run --volumes-from "$DB_CONTAINER_NAME" --rm -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /etc/postgresql /var/log/postgresql /var/lib/postgresql
अब मैं db के लिए उपयोग किए गए कंटेनर को हटाता हूं और उसी नाम के साथ एक और एक बनाता हूं, और पहले डाले गए डेटा को पुनर्स्थापित करने का प्रयास करता हूं:
$ sudo docker run --volumes-from "$DB_CONTAINER_NAME" --rm -v $(pwd):/backup ubuntu tar xvf /backup/backup.tar
लेकिन टेबल खाली हैं, डेटा को ठीक से बहाल क्यों नहीं किया गया है?