gpt4 book ai didi

linux - 构建带有卷的 docker 镜像 (centos) 以及用于测试的数据 (postgresql)

转载 作者:太空宇宙 更新时间:2023-11-04 12:03:50 26 4
gpt4 key购买 nike

我想制作带有持久数据的图像,以便其他开发人员可以运行此容器并使用它。我用这个 https://hub.docker.com/r/centos/postgresql-96-centos7/并执行下一步:1)用命令运行它

docker run -d -e POSTGRESQL_USER=svcg -e POSTGRESQL_PASSWORD=svcg1 -e POSTGRESQL_DATABASE=bcs -p 5432:5432 --expose=5432 --name=postgres --net=docker-net -v psql:/var/lib/pgsql/data centos/postgresql-96-centos7 

结果是一个正在运行的容器“postgres”和卷“psql”。

2) 从dumpName.xml 中恢复数据

java -jar database_backup_starter.jar -u svcg -p svcg1 -url jdbc:postgresql://192.168.99.100:5432/bcs -m restore -path database_dump

卷“psql”包含测试数据。

是否可以一步完成?例如,从卷或从带有数据的卷的 docker 创建图像?怎么做?

最佳答案

因为这张图片声明了一个 VOLUME对于 PostgreSQL 数据,您不能使用卷中的预填充数据从中生成派生图像,或者使用 docker builddocker commit . It won't work (请参阅注释“更改 Dockerfile 中的卷”)。

将数据加载到新创建 数据库容器的标准方法似乎是在您第一次启动容器时将 SQL 语法数据库转储放在初始化目录中。在此图像中,看起来您必须将数据库转储包装在 shell 脚本中并将其放入 /opt/app-root/src/postgresql-init/ 中。目录。对于 stock postgres image你会把一个 *.sql 文件放在 /docker-entrypoint-initdb.d/ 中.

关于linux - 构建带有卷的 docker 镜像 (centos) 以及用于测试的数据 (postgresql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51366815/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com