Docker – 在Container中运行Postgres脚本
我已经创build了一个docker容器postgres使用以下链接。有几个预先存在的postgres脚本,我需要在容器中运行它。
Docker Image链接 – https://registry.hub.docker.com/_/postgres/
尝试下面的命令仍然没有运气
ADD runsqlscripts.sh /root/runsqlscripts.sh CMD ["postgres" "/root/runsqlscripts.sh" ]
看到我以前的答案是最好的方法来做到这一点。
在Docker中pipe理数据库模式的“正确”方法
问题是你不能立即用Dockerfile运行脚本,因为Postgres在命令发出时不会运行。
他们build议您从docker-entrypoint.sh
脚本运行脚本,该脚本将查看应在 Postgres启动后运行的脚本的./docker-entrypoint-initdb.d
目录。
WORKDIR /workspace CMD ["postgres", "/root/runsqlscripts.sh" ] docker run -v /root:/workspace IMAGE_ID
如果要将主机目录映射到给定path中的容器,则需要在创build-v /host:/container
调用-v /host:/container
。 Dockerfile可以将目录映射到像/dev/disk/by-uuid/af414ad8-9936-46cd-b074-528854656fcd
这样的随机path。
- “swarm master”和“swarm manager”有什么区别?
- 使用Docker-Compose来旋转不同configuration的容器的多个实例
- Dockerfile可以将自己推送到registry吗?
- 将Docker上的PostgreSQL持久存储转换为现代docker存储
- 如何在docker-compose 3中使用docker deploy?
- 我应该在Docker容器中运行init进程吗?
- 什么是最好的形象为DB:和db_backupdocker合成的SQLite?
- 在Docker容器中构build源文件时找不到文件
- Mac上的Boot2Docker – 返回bsdthread_register错误