由于我的程序需要往mysql数据库中存数据,用到了libmysqlclient.so,所以把我的程序放到docker中运行的时候,需要在docker镜像中包含libmysqlclient.so。

网上有基于alpine的mysql-client。感觉不行。我们还是用centos的镜像感觉保险一点。

1.build.sh

从mysql的官网下载mysql相关rpm到本地

#!/bin/bashwget https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-common-5.7.27-1.el7.x86_64.rpm
wget https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-libs-5.7.27-1.el7.x86_64.rpm
wget https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-client-5.7.27-1.el7.x86_64.rpmdocker build -t mysql-client  .

Dockerfile

FROM centos:7MAINTAINER along <aaaa@gmail.com>#ADD /mysql-community-common-5.7.27-1.el7.x86_64.rpm  /mysql-community-common-5.7.27-1.el7.x86_64.rpm
#ADD /mysql-community-libs-5.7.27-1.el7.x86_64.rpm   /mysql-community-libs-5.7.27-1.el7.x86_64.rpm
#ADD /mysql-community-client-5.7.27-1.el7.x86_64.rpm  /mysql-community-client-5.7.27-1.el7.x86_64.rpmARG MYSQL_1=/mysql-community-common-5.7.27-1.el7.x86_64.rpm
ARG MYSQL_2=/mysql-community-libs-5.7.27-1.el7.x86_64.rpm
ARG MYSQL_3=/mysql-community-client-5.7.27-1.el7.x86_64.rpmADD $MYSQL_1 $MYSQL_1
ADD $MYSQL_2 $MYSQL_2
ADD $MYSQL_3 $MYSQL_3
# -----------------------------------------------------------------------------
# MySQL client
# -----------------------------------------------------------------------------
RUN    yum install -y $MYSQL_1 \&& yum install -y $MYSQL_2 \&& yum install -y $MYSQL_3 \&& rm -rf $MYSQL_1 \&& rm -rf $MYSQL_2 \&& rm -rf $MYSQL_3 \&& rm -rf /var/cache/yum/* \

reference:

https://github.com/arey/mysql-client/blob/master/Dockerfile

https://stackoverflow.com/questions/30082674/how-to-install-a-local-rpm-file-when-building-docker-instance/30083919

docker制作mysql-client的镜像(基于centos)相关推荐

  1. 使用Docker制作zentao禅道镜像

    使用Docker制作zentao禅道镜像 -- 禅道Docker镜像的制作 (一) 下载DockerFile git clone https://gitee.com/yunwisdoms/zentao ...

  2. Docker 制作 MySQL 镜像并使用 `/docker-entrypoint-initdb.d/` 机制初始化数据

    需求 制作一个 MySQL Docker 镜像并初始化数据库信息 环境 win 11 Docker-Desktop 4.14.0 (91374) 分析 启动一个MySQL容器很容易.如何初始化数据呢? ...

  3. docker制作nginx源码镜像

    主题 当前项目需要批量安装多个nginx服务,但是需要nginx配置支持ipv6,但是docker公有仓库的镜像并没有把这个模块加上,于是想通过centos为基础镜像,通过Dockerfile制作一个 ...

  4. Docker安装MySQL 8.0镜像,简易上手

    安装及启动docker 1.安装docker [root@docker]# yum install docker-ce docker-ce-cli containerd.io -y 2.启动docke ...

  5. docker安装mysql、redis镜像

    docker镜像商店:官方镜像商店 redis安装下载: 下载镜像: 可直接默认下载最新镜像,也可以指定版本下载[注意,版本差异不大的软件可以直接下载最新版本,差异大的,例如java,mysql等,最 ...

  6. 自定义linux iso,制作自定义的ISO镜像(Centos 7.6)

    本文以制作自定义的centos7的ISO镜像为例,自定义ISO无非就是提前安装好yum包,提前安装好pip包,提前安装好自己的应用这三种情况,对于提前安装yum包,如下的链接讲的非常清楚,这里就不再详 ...

  7. centos 6.4 postfix mysql_postfix+dovecot+mysql+extmail安装笔记(基于CentOS 6)

    安装可能用到的软件包: yum install postfix dovecot dovecot-devel dovecot-mysql mysql mysql-server mysql-devel h ...

  8. 【MySQL】基于Docker的Mysql主从复制搭建

    基于Docker的Mysql主从复制搭建 为什么基于Docker搭建? 资源有限 虚拟机搭建对机器配置有要求,并且安装mysql步骤繁琐 一台机器上可以运行多个Docker容器 Docker容器之间相 ...

  9. docker制作mysql5.7镜像详解

    docker制作mysql5.7的镜像难点在于,当mysql安装完成后需要手工初始化.我在其他博客查了下做法大多是用脚本初始化配置启动,但这种模式做出来的父进程不是mysql,是以/bin/bash启 ...

最新文章

  1. Apache模块开发helloworld无错版
  2. WhatsApp用户数突破10亿 每天发送消息420亿条
  3. 情境学习理论视野中的成人学习
  4. 用户自定义的Javascript函数名字与内置函数或宿主函数名字相同时产生的问题。...
  5. Android --- TabHost 切换时,改变选项卡下字体的状态(大小、加粗、默认被选中第一个)
  6. Netty关闭客户端
  7. java_codereview随笔
  8. SAP CRM WebClient UI根据扩展字段搜索出结果的实现原理
  9. oracle goldengate 数据库实例,案例:Oracle goldengate报错ggsci: error while loading shared libraries:...
  10. 【SQL】MERGE
  11. VS2008安装deffactory.dat文件错误解决方法
  12. linux常用命令示例
  13. Wet Shark and Two Subsequences
  14. Sending the email to the following server failed.IOException while sending message问题解决
  15. 三种振幅调制AM、DSB、SSB
  16. 哪些地方需要使用到301转向
  17. 写给大忙人看的进程和线程(内附思维导图)
  18. ESP32-BMP180气压、气温传感器
  19. lr_Analysis结果分析工具
  20. 产品三维可视化展示之服装3d立体展示

热门文章

  1. 数据结构笔记 第六章 查找技术
  2. 安装linux 分区设置,linux如何设置分区,linux新磁盘分区,安装linux如何分区
  3. Android 关闭数据业务
  4. Java设计模式--原型模式Prototype
  5. Java异常分类和关系
  6. mysql复合主键优缺点_提问关于 mysql得联合主键和复合主键的问题
  7. Unity游戏开发完整项目,全套代码+资源
  8. 几所985高校理工科博士毕业成果要求(2022年更新)
  9. Vue引入element组件
  10. php $_SERVER[REMOTE_ADDR]输出ip为::1