专栏首页10km的专栏docker:mysql启动时自动执行初始建表脚本

docker:mysql启动时自动执行初始建表脚本

版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net/10km/article/details/79046864

默认情况下,mysql镜像创建的docker容器启动时只是一个空的数据库实例,为了简化docker部署,我们需要 在docker创建mysql容器的时,数据库和表已经自动建好,初始化数据也已自动录入,也就是说容器启动后数据库就可用了。这就需要容器启动时能自动执行sql脚本。 在mysql官方镜像中提供了容器启动时自动执行/docker-entrypoint-initdb.d文件夹下的脚本的功能(包括shell脚本和sql脚本) docker-entrypoint.sh中下面这段代码就是干这事儿的

        for f in /docker-entrypoint-initdb.d/*; do
            case "$f" in
                *.sh)     echo "$0: running $f"; . "$f" ;;
                *.sql)    echo "$0: running $f"; "${mysql[@]}" < "$f"; echo ;;
                *.sql.gz) echo "$0: running $f"; gunzip -c "$f" | "${mysql[@]}"; echo ;;
                *)        echo "$0: ignoring $f" ;;
            esac
            echo
        done

也就是说只要把你自己的初始化脚本放到/docker-entrypoint-initdb.d/文件夹下就齐活了。

于是可以做这样一个简单的Dockerfile来实例我们的需求,其实关键的代码就是最后一行了。

Dockerfile

# docker image of facelog mysql
# version 1.0.0
# author guyadong
FROM mysql:5.6
MAINTAINER guyadong(10km0811@sohu.com)
# 复制数据库初始化脚本create_table.sql到/docker-entrypoint-initdb.d文件夹下
COPY sql/create_table.sql /docker-entrypoint-initdb.d

参考资料

mysql 5.6 entrypoint 脚本 https://github.com/docker-library/mysql/blob/master/5.6/docker-entrypoint.sh mysql 5.6 镜像脚本 https://github.com/docker-library/mysql/blob/master/5.6/Dockerfile

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Nacos 修改mysql中默认账号密码

    官方给出一个docker镜像,就不要我们自己制作了。文档地址:https://github.com/nacos-group/nacos-docker,参考Sta...

    用户2235302
  • 解决因为机器性能问题导致docker-compose运行容器超时的问题

    就是一到一个docker-compose文件里面要运行的容器变多,或者因为机器性能差导致没有在60s之内把docker-compose文件中的容器完全运行起来都...

    bboysoul
  • 「docker实战篇」python的docker-打造多任务端app应用数据抓取系统(下)(35)

    PS:电脑配置比较高i7的cpu,16g的内存,固态的硬盘,尽量还是用真机,如果是真机8g跑的也很666,企业里面还是用真实的手机来跑的。这里综合实战了,从ap...

    IT故事会
  • 从零开始搭建本地 Docker 开发环境

    在开发之前,首先你需要安装各种开发工具和服务支持到你的开发环境当中,可能会出依赖问题,环境变量问题,端口冲突,经编译库问题等等。

    一墨编程学习
  • rancher流水线自动化部署

    准备docker环境,不会安装的参考链接 https://docs.docker.com/install/linux/docker-ce/centos/

    24-丰总
  • K8S 生态周报| 2019-04-28~2019-05-05

    > 「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」。

    Jintao Zhang
  • Github项目推荐 | OpenAI文本生成器 - gpt-2

    视频:《OpenAI Text Generator - YouTube》by Siraj Raval

    AI研习社
  • 『互联网架构』软件架构-企业级dubbo应用(下)(43)

    1.服务提供方启动时,向 Key:/dubbo/XXXServer/providers 下,添加当前提供者的地址。 2.并向 Channel:/dubbo/co...

    IT故事会
  • 「docker实战篇」python的docker-打造多任务端app应用数据抓取系统(终结)(36)

    PS:最后docker的实践,关于爬虫这块高级docker的承诺,我也兑现了,其实很多时候就是缺少一个思路,工具真的是一大把,条条大路通罗马,多学多问,通过爬虫...

    IT故事会
  • pinpoint 修改hbase表TTL值

    缘起 Pinpoint接入业务监控后数据量大涨,平均每天Hbase数据增量20G左右,数据量太大,需要对数据进行定期清理,否则监控可用性降低,由于之前环境是由d...

    三杯水Plus

扫码关注云+社区

领取腾讯云代金券