在docker构build之后加载Postgres转储
我有一个我想加载docker-compose的dump.sql文件。
泊坞窗,compose.yml:
services: postgres: environment: POSTGRES_DB: my_db_name POSTGRES_USER: my_name POSTGRES_PASSWORD: my_password build: context: . dockerfile: ./devops/db/Dockerfile.db
我的Dockerfile.db目前非常简单:
FROM postgres MAINTAINER me <me@me.me> COPY ./devops/db ./devops/db WORKDIR ./devops/db
我想在某个时候运行一个像psql my_db_name < dump.sql
的命令。 如果我从Dockerfile.db运行这样的脚本,问题是脚本在构build之后但在docker构build之前运行,并且数据库尚未运行。
任何想法如何做到这一点?
阅读https://hub.docker.com/_/postgres/ ,“扩展这个镜像”一节解释说,在/docker-entrypoint-initdb.d中的任何.sql将在build之后被执行。
我只需要将我的Dockerfile.db更改为:
FROM postgres ADD ./devops/db/dummy_dump.sql /docker-entrypoint-initdb.d
它的工作原理!
- 在Emacs的Docker容器上运行命令
- Gitlab-ci和docker组成:握手超时
- 如何从docker-compose.yml指定nvidia运行时?
- docker-compose,导出environnementvariables在Jenkins中不起作用
- 生成解决scheme总是失败,这是一个docker问题?
- 如何在Docker中实现seccomp?
- 如何将variables作为属性传递给Docker中的Wildfly的xmlconfiguration文件
- 错误在docker上的laravel应用程序上运行composer时找不到驱动程序
- 创buildTLSconfiguration时出错(v1.3.7)