相关疑难解决方法(0)

在Dockerfile中设置MySQL并导入转储

我正在尝试为我的LAMP项目设置Dockerfile,但是在启动MySQL时我遇到了一些问题.我的Dockerfile上有以下行:

VOLUME ["/etc/mysql", "/var/lib/mysql"]
ADD dump.sql /tmp/dump.sql
RUN /usr/bin/mysqld_safe & sleep 5s
RUN mysql -u root -e "CREATE DATABASE mydb"
RUN mysql -u root mydb < /tmp/dump.sql
Run Code Online (Sandbox Code Playgroud)

但我一直收到这个错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
Run Code Online (Sandbox Code Playgroud)

有关如何在Dockerfile构建期间设置数据库创建和转储导入的任何想法?

mysql docker

116
推荐指数
5
解决办法
11万
查看次数

在Docker中启动并填充Postgres容器

我有一个包含Postgres数据库的Docker容器.它使用官方的Postgres图像,该图像具有在主线程上启动服务器的CMD条目.

我想RUN psql –U postgres postgres < /dump/dump.sql在开始收听查询之前通过运行来填充数据库.

我不明白Docker如何实现这一点.如果我RUN在CMD之后放置命令,它当然永远不会到达,因为Docker已经完成了对Dockerfile的读取.但是如果我把它放在它之前CMD,它将在psql甚至作为一个进程存在之前运行.

如何在Docker中预填充Postgres数据库?

database postgresql docker

41
推荐指数
3
解决办法
5万
查看次数

标签 统计

docker ×2

database ×1

mysql ×1

postgresql ×1