制作mariadb容器镜像

制作mariadb容器镜像

环境准备:

Centos7.5 docker-ce
镜像准备:
centos:lastest

软件准备:

gpmall.sql

思路

1.确定基础镜像
2.确定mariadb的安装方式
3.初始化mariadb
4.暴露端口启动mariadb
5.构建镜像

1.确定基础镜像

这里使用的基础镜像为centos:laster
Dockerfile:

FROM centos:latest
MAINTAINER luoxi

2.确定mariadb安装方式

这里选择使用yum的安装方式,由于是测试环境无外网,将本地yum的配置为ftp拷贝到容器内
1.删除原有的yum

rm -f /etc/yum.repos.d/*

2.将现有的yum拷贝到容器内
local.repo

[centos]
name=centos
baseurl=file:///192.168.1.1/centos
gpgcheck=0

3.安装mariadb

yum install mariadb-server -y

Dockerfile:

RUN rm -f /etc/yum.repos.d/*
ADD local.repo /etc/yum.repos.d/
RUN yum install mariadb-server -y

3.初始化mariadb

初始化是部署完应用后进入使用前重要的一步
初始化:

mysql_install_db --user=mysql

配置用户密码
由于mariadb容器一般都是远程连接使用,所以我们创建用户一般创建要赋予远程权限

mysqld_safe &
mysql -e "grant all on *.* to root@'%' identified by '123456';"

创建数据库导入数据库表

mysql -e "create database gpmall;"
mysql -D gpmall < /opt/gpmall.sql

db_init.sh

mysql_install_db --user=mysql
sleep 3
mysqld_safe &
sleep 3
mysql -e "grant all on *.* to root@'%' identified by '123456';"
mysql -e "create database gpmall;"
mysql -D gpmall < /opt/gpmall.sql

4.暴露端口启动mariadb

启动容器内的服务必须为前台启动所以我们使用 mysqld_safe作为启动方式

EXPOSE 3306
CMD ["mysqld_safe"]

整合Dockerfile

FROM centos:lastest
MAINTAINER luoxi
RUN rm -f /etc/yum.repos.d/*
ADD local.repo /etc/yum.repos.d/
RUN yum install mariadb-server -y
ADD db_init.sh /root/
RUN chmod 755 /root/db_init.sh
ADD gmall.sql /opt/
RUN bash /root/db_init.sh
EXPOSE 3306
CMD ["mysqld_safe"]

构建mariadb镜像

进入Dockerfile所在的目录执行

docker build -t mariadb .
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洛溪&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值