加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 03:33:04 所属栏目:安全 来源:网络整理
导读:我使用这个tutum-docker-mysql dockerfile,启动并运行安装了mysql的docker镜像,docker文件创建一个名为root且没有密码的用户,我需要的是将这样的东西添加到dockerfile: RUN mysql -uroot -p"" mysql create database test; 因此,当我从docker文件构建映像时

我使用这个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来争取一段时间.我认为这可能是可能的,但过了一段时间,我发现上述解决方案更快更简单.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读