首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用dockerfile在mysql中创建默认数据库

问使用dockerfile在mysql中创建默认数据库
EN

Stack Overflow用户
提问于 2014-07-10 17:47:47
回答 2查看 17.1K关注 0票数 6

我正在使用这个tutum-docker-mysql docker文件,为了启动和运行安装了mysql的docker镜像,docker文件创建了一个名为root且没有密码的用户,我需要的是向docker文件中添加类似以下内容:

代码语言:javascript
复制
RUN mysql -uroot -p""  &&  mysql create database test;

因此,当我从docker文件构建一个镜像时,数据库应该已经在那里了。

EN

回答 2

Stack Overflow用户

发布于 2014-08-15 13:58:09

通过执行以下操作,我能够完成向tutum docker-mysql映像添加数据库的目标。

代码语言:javascript
复制
git clone https://github.com/tutumcloud/tutum-docker-mysql.git
cd tutum-docker-mysql
vi create_mysql_admin_user.sh

在.sh文件中,我添加了一行,就在已经存在的两个"mysql -uroot“行的正下方。我只是简单地补充了一下:

代码语言:javascript
复制
mysql -uroot -e "create database test;"

在对该.sh文件进行更改之后,我只是构建了docker映像。

代码语言:javascript
复制
docker build -t tutum/mysql .

在构建docker镜像之后,我可以使用如下命令运行它:

代码语言:javascript
复制
docker run -d -p 3307:3306 tutum/mysql

一旦容器开始运行,您需要知道要使用的密码和容器的ip地址。要获得密码,您只需执行以下操作

代码语言:javascript
复制
docker logs 2976a81f1a9b19787d9bde893c831b7e6586d7c8391ccd222ad29b02c282d896

当然也要使用容器id,这是从上面的"docker run“命令返回的。现在您有了密码,您需要ip地址。我是通过这样做才能做到的。

代码语言:javascript
复制
docker inspect 2976a81f1a9b19787d9bde893c831b7e6586d7c8391ccd222ad29b02c282d896

看着“网关”地址。有了密码和ip地址,我就可以从容器外部执行此mysql命令。

代码语言:javascript
复制
mysql -uadmin -pJcM5FCphMOp4 -h172.17.42.1 -P3307

其中,ip地址和密码是我从前两个docker命令中获得的值。在运行该命令之后,我可以发出一个带有以下结果的"show databases“命令。

代码语言:javascript
复制
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

mysql> 

我通过修改Dockerfile进行了一段时间的尝试。我认为这可能是可能的,但过了一段时间,我发现上面的解决方案要快得多,也更简单。

票数 11
EN

Stack Overflow用户

发布于 2016-08-06 13:06:54

容器启动时可以传入ON_CREATE_DB环境参数。来自tutum README.md的示例

docker run -d -p 3306:3306 -e ON_CREATE_DB="newdatabase" tutum/mysql

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24673357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档