热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基于CentOS基础镜像构建DB(MySQL)中间件镜像

目录一、撰写Dockerfile二、构建Docker镜像三、创建Docker容器本文基于CentOS基础镜像构建DB(MySQL)中间件镜像。下面一起来看一下:基于C


目录

  • 一、撰写Dockerfile
  • 二、构建Docker镜像
  • 三、创建Docker容器


本文基于 CentOS 基础镜像构建 DB(MySQL) 中间件镜像。

下面一起来看一下:基于 CentOS 制作 DB 镜像的区别以及 Dockerfile 解析 。。。

好文章 记得收藏+点赞+关注额 !!!

---- Nick.Peng





一、撰写Dockerfile


  • 写好的 Dockerfile 以及解释如下:

    #
    # MAINTAINER Nick,Y.Peng
    # DOCKER-VERSION 1.6.2
    #
    # Dockerizing Mariadb: Dockerfile for building Mariadb images
    #
    # 基于上一篇创建的centos:7.1作为此中间件镜像的基础镜像
    FROM csphere/centos:7.1
    MAINTAINER Nick,Y.Peng <nickyp&#64;dockerstu.com> # 指明该镜像的维护者# 指定环境变量 对应到 /var/lib/mysql目录
    ENV DATA_DIR /var/lib/mysql# Install Mariadb
    RUN rpm --rebuilddb && \ yum install -y mariadb mariadb-server && \yum clean all# 添加mysql的字符配置文件到指定目录
    ADD mysqld_charset.cnf /etc/my.cnf.d/COPY scripts /scripts
    # 给上面复制的scripts里的start文件&#xff0c;赋予可执行权限
    RUN chmod &#43;x /scripts/start# 公开的网络端口&#xff0c;mysql默认3306
    EXPOSE 3306# 用于将mysql的数据保留下来&#xff0c;即使container被删除
    VOLUME ["/var/lib/mysql"]# 在容器启动时运行的命令&#xff0c;这里启动的是scripts目录下的start脚本
    ENTRYPOINT ["/scripts/start"]




二、构建Docker镜像


  • 执行命令&#xff1a; docker build -t csphere/mysql:5.5 .
  • 命令解析&#xff1a; 后面.的意思是指 Dockerfile 所在目录的相对路径&#xff0c;这里 Dockerfile 在当前路径下&#xff0c;所以用.表示&#xff0c;如果不在当前路径&#xff0c;就写相对路径&#xff0c;例如&#xff1a;./xxx
  • 构建成功&#xff0c; 如图&#xff1a;
    在这里插入图片描述
  • 验证是否构建成功&#xff1a; 在终端输入命令&#xff1a;docker images&#xff0c;如下图 php-fpm:5.4 已被我们成功构建&#xff1b;
    在这里插入图片描述

三、创建Docker容器


  • 通过我们刚刚构建的 Docker 镜像&#xff0c;创建 Docker 容器&#xff1b;
  • 创建容器命令如下&#xff1a;
    docker run -d --name dbserver -p 3306:3306 -v /var/lib/docker/vfs/dir/mydata:/var/lib/mysql csphere/mysql:5.5
  • 查看是否创建成功&#xff1a;
    输入命令&#xff1a;docker ps -a&#xff0c;如图&#xff0c;dbserver 容器已被成功创建&#xff1b;
    在这里插入图片描述


推荐阅读
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
  • mysql自动打开文件_让docker中的mysql启动时自动执行sql文件
    本文提要本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动My ... [详细]
  • 现象:[root@localhost~]#dockerrun-d-p9000:80centos:httpdbinsh-cusrlocalbinstart.shd5b2bd5a7bc ... [详细]
  • k8s进阶之搭建私有镜像仓库
    企业级私有镜像仓 ... [详细]
  • Linux环境中使用Mysql数据库
    Linux下Mysql数据库MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司,目前属于Oracle公司,MySQL被广泛地应用在I ... [详细]
  • Centos7安装MySql5.6
    如何在CentO ... [详细]
  • MySQL之left join表查询中发生字符集转换导致表索引失效
    mysql,之,left,join,表,查询,中,发生,字符,集,转换, ... [详细]
  • 1.ATP方式安装在ubuntu系统的apt软件仓库中,默认存在MySQL数据库,所以直接使用apt命令就可以安装。使用命令:aptapt-getin ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 开发笔记:Docker 上安装启动 MySQL
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Docker上安装启动MySQL相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文探讨了容器技术在安全方面面临的挑战,并提出了相应的解决方案。多租户保护、用户访问控制、中毒的镜像、验证和加密、容器守护以及容器监控都是容器技术中需要关注的安全问题。通过在虚拟机中运行容器、限制特权升级、使用受信任的镜像库、进行验证和加密、限制容器守护进程的访问以及监控容器栈,可以提高容器技术的安全性。未来,随着容器技术的发展,还需解决诸如硬件支持、软件定义基础设施集成等挑战。 ... [详细]
  • (九)Docker常用安装
    一、总体步骤1、搜索镜像2、拉取镜像3、查看镜像4、启动镜像5、停止镜像6、移除镜像二、安装tomcat1、dockerhub上面查找tomcat镜像 dockersearchto ... [详细]
  • docker容器的数据管理一:数据卷实现数据的永久化,完全独立于容 ... [详细]
  • Docker安装Rabbitmq(配合宝塔)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Docker安装Rabbitmq(配合宝塔)相关的知识,希望对你有一定的参考价值。一、事前准备 ... [详细]
author-avatar
Jay_5
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有