Linux:dockerfile编写搭建mysql练习(10)

搭建了httpyum仓库


Dockerfile   主要文件 基于centos基础镜像

centos.repo        yum仓库

db_init.sh                mysql初始化脚本

run.sh                启动脚本 


vim Dockerfile

写入

FROM centos

MAINTAINER teacher ly

RUN mkdir /etc/yum.repos.d/bak ; mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak

ADD centos.repo /etc/yum.repos.d/centos.repo

RUN yum clean all ; yum -y install wget

RUN yum -y install mariadb-server mariadb net-tools

ENV MARIADB_USER root
ENV MARIADB_PASS 123456
ENV LC_ALL en_US.UTF-8

ADD db_init.sh /root/db_init.sh
RUN chmod 775 /root/db_init.sh
RUN /root/db_init.sh
EXPOSE 3306

ADD run.sh /root/run.sh
RUN chmod 775 /root/run.sh

CMD ["/root/run.sh"]

dockerfile文件

vim run.sh

写入

#!/bin/bash
mysqld_safe

启动脚本

vim centos.repo

写入

[local]
name=local
baseurl=http://192.168.6.1/yum
enabled=1
gpgcheck=0

yum仓库

db_init.sh

写入

#!/bin/bash

mysql_install_db --user=mysql

sleep 3
mysqld_safe &
sleep 3
#mysqladmin -u "$MARIADB_USER" password "$MARIADB_PASS"
mysql -e "use mysql; grant all privileges on *.* to '$MARIADB_USER'@'%' identified by '$MARIADB_PASS' with grant option;"
h=$(hostname)
mysql -e "use mysql; update user set password=password('$MARIADB_PASS') where user='$MARIADB_USER' and host='$h';"
mysql -e "flush privileges;"
docker build -t mysql:mysql ./

docker run -d -P mysql:mysql

 

 

mysql -uroot -h 192.168.6.1 -P 32769 -p123456

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-08 18:26:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-08 18:26:02       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-08 18:26:02       87 阅读
  4. Python语言-面向对象

    2023-12-08 18:26:02       96 阅读

热门阅读

  1. csp 训练计划 C语言

    2023-12-08 18:26:02       49 阅读
  2. 使用True False矩阵对torch.tensor切片

    2023-12-08 18:26:02       54 阅读
  3. 【Node.js】笔记梳理 7 - mongoose

    2023-12-08 18:26:02       63 阅读
  4. 大语言模型评测论文HELM阅读笔记

    2023-12-08 18:26:02       65 阅读
  5. pytorch bert实现文本分类

    2023-12-08 18:26:02       51 阅读