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

前端之家收集整理的这篇文章主要介绍了使用dockerfile在mysql中创建默认数据库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我使用这个tutum-docker-mysql dockerfile,启动并运行安装了MysqL的docker镜像,docker文件创建一个名为root且没有密码的用户,我需要的是将这样的东西添加到dockerfile:

RUN MysqL -uroot -p""  &&  MysqL create database test;

因此,当我从docker文件构建映像时,数据库应该已经存在.

通过执行以下操作,我能够实现将数据库添加到tutum-docker-MysqL映像的目标.

git clone https://github.com/tutumcloud/tutum-docker-MysqL.git
cd tutum-docker-MysqL
vi create_MysqL_admin_user.sh

在.sh文件里面,我添加了一行,就在已经存在的两条“MysqL -uroot”行的正下方.我简单地说:

MysqL -uroot -e "create database test;"

在更改到.sh文件后,我只是构建了docker镜像.

docker build -t tutum/MysqL .

构建docker镜像后,我可以使用以下内容运行它:

docker run -d -p 3307:3306 tutum/MysqL

容器运行后,您需要知道要使用的密码和容器的IP地址.要获得密码,您只需这样做

docker logs 2976a81f1a9b19787d9bde893c831b7e6586d7c8391ccd222ad29b02c282d896

但是当然使用从上面的“docker run”命令返回的容器id.现在你有了密码,你需要ip地址.我这样做了.

docker inspect 2976a81f1a9b19787d9bde893c831b7e6586d7c8391ccd222ad29b02c282d896

并查看“网关”地址.使用密码和IP地址,我可以从容器的OUTSIDE执行此MysqL命令.

MysqL -uadmin -pJcM5FCphMOp4 -h172.17.42.1 -P3307

ip地址和密码是我从前两个docker命令获得的值.运行该命令后,我可以发出一个“show databases”命令,其中包含以下结果.

MysqL> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| MysqL              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

MysqL> 

我通过修改Dockerfile来争取一段时间.我认为这可能是可能的,但过了一段时间,我发现上述解决方案更快更简单.

猜你在找的Docker相关文章