当前位置:   article > 正文

Dockerfile构建MySQL镜像(yum方式)

dockerfile构建mysql镜像

目录

Dockerfile构建MySQL镜像

1、建立工作目录

2、编写Dockerfile文件

3、构建镜像

4、测试容器


Dockerfile构建MySQL镜像

1、建立工作目录

[root@huyang1 ~]# mkdir mysql

[root@huyang1 ~]# cd mysql/

2、编写Dockerfile文件

[root@huyang1 mysql]# vim Dockerfile

配置如下:(可以更具自身所需改变启动脚本的文件名称,如我就是改成了mysql.sh)

  1. FROM centos:7
  2. MAINTAINER Crushlinux <crushlinux@163.com>
  3. #安装mariadb数据库
  4. RUN yum install -y mariadb mariadb-server mariadb-devel
  5. #设置环境变量,便于管理
  6. ENV MARIADB_USER root
  7. ENV MARIADB_PASS 123456
  8. #让容器支持中文
  9. ENV LC_ALL en_US.UTF-8
  10. #初始化数据库
  11. ADD db_init.sh /root/db_init.sh
  12. RUN chmod 775 /root/db_init.sh && /root/db_init.sh
  13. #导出端口
  14. EXPOSE 3306
  15. #设置默认启动命令
  16. CMD ["mysqld_safe"]

[root@localhost mysql]# vim mysql.sh

配置启动脚本如下:(可以更具自身所需改变启动脚本的文件名称,如我就是改成了mysql.sh)

  1. #!/bin/bash
  2. mysql_install_db --user=mysql
  3. sleep 3
  4. mysqld_safe &
  5. sleep 3
  6. mysql -e "use mysql; grant all privileges on *.* to '$MARIADB_USER'@'%' identified by '$MARIADB_PASS' with grant option;"
  7. h=$(hostname)
  8. mysql -e "use mysql; update user set password=password('$MARIADB_PASS') where user='$MARIADB_USER' and host='$h';"
  9. mysql -e "flush privileges;"

3、构建镜像

[root@huyang1 mysql]# docker build -t mysql:new .

[root@huyang1 mysql]# docker run -d -p 3306:3306 --name mysql-test mysql:new

4、测试容器

[root@huyang1 mysql]# yum -y install mariadb mariadb-devel

[root@huyang1 mysql]# mysql -h 192.168.200.111 -u root -P 3306 -p123456

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/543031
推荐阅读
相关标签
  

闽ICP备14008679号