制作mariadb容器镜像

  • 时间:
  • 来源:互联网
  • 文章标签:

制作mariadb容器镜像

环境准备:

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

思路

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

1.确定基础镜像

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

FROM centos:lastest
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

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

mysql_install_db --user=mysql

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

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

2.特性配置
可以写脚本使用变量的方式,能够更好的配置数据库方便后期扩展。
Dockerfile:

RUN mysql_install_db --user=mysql
RUN sleep 3
RUN mysqld_safe &
RUN sleep 3
RUN mysql -e "grant all on *.* to root@'%' identified by '123456';"

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
RUN mysql_install_db --user=mysql
RUN sleep 3
RUN mysqld_safe &
RUN sleep 3
RUN mysql -e "grant all on *.* to root@'%' identified by '123456';"
EXPOSE 3306
CMD ["mysqld_safe"]

构建mariadb镜像

进入Dockerfile所在的目录执行

docker build -t mariadb .

本文链接http://www.taodudu.cc/news/show-1782049.html