为什么docker上自己创建的mysql镜像特别大

为什么docker上自己创建的mysql镜像特别大,第1张

在制作镜像的过程中,我们要注意几点:

1.文件系统是UnionFs,Dockerfile中每一条RUN都会生成一个层次(layer)。所以我们需要在每一条RUN之后清理产生的数据。因为生成的结果(3G的大小)是各层次大小的线性叠加。

2.为什么官方的镜像普遍偏小呢?我们就以mysql:5.6来作为参考,来分析一下:

RUN apt-get update &&apt-get install -y perl --no-install-recommends &&rm -rf /var/lib/apt/lists/*在更新组建以后,接着删除了apt的缓存的包文件。通常来说这个文件夹视情况会占用100M左右。

RUN { ...&&apt-get update &&apt-get install -y

mysql-server="${MYSQL_VERSION}" &&rm -rf /var/lib/apt/lists/* &&rm

-rf /var/lib/mysql &&mkdir -p /var/lib/mysql 在安装db以后,照例删除缓存的包文件。删除/var/lib/mysql能清除示例数据库

而我们观察一下,hub.docker.com中最常用的vim包,我们发现haron/vim镜像是300M用的scratch作为基础镜像。

在hub.docker.com上粗略找了下,没有找到用centos做基础的mysql镜像。个人估计是缓存的包没有删掉,导致的问题。

至于@ShawnTaoo兄弟提到的基础镜像大小问题,我也做了下调查:centos:latest 190+MB, debian:jessie: 130+MB, ubuntu:latest 180+MB

首选用putty连接linux服务器,进行命令行

输入mysql -u+数据库用户 -p+数据库密码

架设数据库用户是root 密码是123,应该是像下面这样才是正确的:

mysql -uroot -p123

-u和-p连接数据库用户和密码中间是不能有空格的

下面来创建数据库mydatabase

create database mydatabase

这样一个名叫mydatabase的数据库就创建好了

show databases显示所有数据库列表

drop database mydatabase删除数据库mydatabase

那么如何退出mysql命令行呢?

在终端输入exit知道完全退出mysql命令行为止!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8663561.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存