日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

【系列7】使用Dockerfile创建带mysql的Centos Docker镜像

發(fā)布時間:2025/3/15 数据库 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【系列7】使用Dockerfile创建带mysql的Centos Docker镜像 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

下面用官方的rpm源包安裝mysql過慢不主張采用yum這種方式

? ?1. 下載文件
? ?從GitHub Dockerpool社區(qū)下載MySQL鏡像項目:
[root@docker1 ~]# git clone https://github.com/DockerPool/mysql.git
Cloning into 'mysql'...
remote: Counting objects: 19, done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 19 (delta 4), reused 19 (delta 4), pack-reused 0
Unpacking objects: 100% (19/19), done.
查看內容,包括已經(jīng)寫好的Dockerfile和若干腳本:
[root@docker1 ~]# cd mysql/
[root@docker1 mysql]# ls
create_db.sh ?Dockerfile ?import_sql.sh ?LICENSE ?my.cnf ?mysqld_charset.cnf ?README.md ?run.sh ??

#本文參考了「tutum」的 Dockerfile

FROM docker.io/centos:latest


MAINTAINER Waitfish?


#設置環(huán)境變量,所有操作都是非交互式的

ENV DEBIAN_FRONTEND noninteractive


RUN echo "Asia/Shanghai" > /etc/timezone

#注意這里要更改系統(tǒng)的時區(qū)設置,因為在Web應用中經(jīng)常會用到時區(qū)這個系統(tǒng)變量,默認的centos會讓你的應用此程序發(fā)生不可思議的效果哦


#安裝mysql服務

RUN yum update -y && \

? yum install wget rpm -y && \

? #wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm && \ ?#下載速度太慢

? wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm && \

? #rpm -ivh mysql-community-release-el7-5.noarch.rpm --nosignature && \

? yum localinstall mysql57-community-release-el7-7.noarch.rpm -y && \

? rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 && \

? yum install mysql-community-server -y


# 刪除預安裝的數(shù)據(jù)庫文件

RUN rm -rf /var/lib/mysql/*


# 添加文件夾下的 MYSQL 配置文件

ADD my.cnf /etc/mysql/conf.d/my.cnf

ADD mysqld_charset.cnf /etc/mysql/conf.d/mysqld_charset.cnf


# 添加 MYSQL 的腳本

ADD import_sql.sh /import_sql.sh

ADD run.sh /run.sh

RUN chmod 755 /*.sh


# 設置環(huán)境變量,用戶名以及秘密

ENV MYSQL_USER admin

ENV MYSQL_PASS **Random**


# 設置主從復制模式下的環(huán)境變量

ENV REPLICATION_MASTER **False**

ENV REPLICATION_SLAVE **False**

ENV REPLICATION_USER replica

ENV REPLICATION_PASS replica


# 設置可以允許掛載的卷,可以用來備份數(shù)據(jù)庫和配置文件

VOLUME ?["/etc/mysql", "/var/lib/mysql"]


# 設置可以映射的端口

EXPOSE 3306


# 設置自啟動的腳本

CMD ["/run.sh"]

*********************************************************************************************************************************************************************************************************************************************************************************

快速創(chuàng)建帶mysql的Centos Docker鏡像

[root@docker1 mysql]# ls

create_db.sh ? my.cnf ? mysql-community-libs-5.7.18-1.el7.x86_64.rpm ? ?RPM

Dockerfile ? ?mysql-community-client-5.7.18-1.el7.x86_64.rpm ?mysql-community-server-5.7.18-1.el7.x86_64.rpm ?Running

import_sql.sh ?mysql-community-common-5.7.18-1.el7.x86_64.rpm ?mysqld_charset.cnf ? ? ? ? ? ? ? ? ? ? run.sh

LICENSE ? ? ?mysql-community-devel-5.7.18-1.el7.x86_64.rpm ? README.md



下面需要事先下載如下的RPM包:

mysql-community-common-5.7.18-1.el7.x86_64.rpm

mysql-community-libs-5.7.18-1.el7.x86_64.rpm

mysql-community-devel-5.7.18-1.el7.x86_64.rpm

mysql-community-client-5.7.18-1.el7.x86_64.rpm

mysql-community-server-5.7.18-1.el7.x86_64.rpm


[root@docker1 mysql]# cat Dockerfile?

#本文參考了「tutum」的 Dockerfile

FROM sshd:centos


MAINTAINER Waitfish?


#設置環(huán)境變量,所有操作都是非交互式的

ENV DEBIAN_FRONTEND noninteractive


RUN echo "Asia/Shanghai" > /etc/timezone

#注意這里要更改系統(tǒng)的時區(qū)設置,因為在Web應用中經(jīng)常會用到時區(qū)這個系統(tǒng)變量,默認的centos會讓你的應用此程序發(fā)生不可思議的效果哦


ADD mysql-community* /


#安裝mysql服務 --nosignature 去掉校驗安裝

RUN yum update -y && \

? yum install wget rpm -y && \

? #rpm -e mariadb-libs* --nodeps && \

? #yum install libaio* libnuma* net-tools* perl* -y && \

? yum install numactl perl libaio net-tools -y && \

? yum install gcc* ncurses ncurses-devel -y && \

? rpm -ivh mysql-community-common* --nosignature && \

? rpm -ivh mysql-community-libs* --nosignature && \

? rpm -ivh mysql-community-devel* --nosignature && \

? rpm -ivh mysql-community-client* --nosignature && \

? rpm -ivh mysql-community-server* --nosignature


# 刪除預安裝的數(shù)據(jù)庫文件

RUN rm -rf /var/lib/mysql/*


# 添加文件夾下的 MYSQL 配置文件

ADD my.cnf /etc/mysql/conf.d/my.cnf

ADD mysqld_charset.cnf /etc/mysql/conf.d/mysqld_charset.cnf


# 添加 MYSQL 的腳本

ADD import_sql.sh /import_sql.sh

ADD run.sh /run.sh

RUN chmod 755 /*.sh


# 設置環(huán)境變量,用戶名以及秘密

ENV MYSQL_USER admin

ENV MYSQL_PASS **Random**


# 設置主從復制模式下的環(huán)境變量

ENV REPLICATION_MASTER **False**

ENV REPLICATION_SLAVE **False**

ENV REPLICATION_USER replica

ENV REPLICATION_PASS replica


# 設置可以允許掛載的卷,可以用來備份數(shù)據(jù)庫和配置文件

VOLUME ?["/etc/mysql", "/var/lib/mysql"]


# 設置可以映射的端口

EXPOSE 3306


# 設置自啟動的腳本

CMD ["/run.sh"]




本文轉自 Mr_sheng 51CTO博客,原文鏈接:http://blog.51cto.com/sf1314/2046751



總結

以上是生活随笔為你收集整理的【系列7】使用Dockerfile创建带mysql的Centos Docker镜像的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。