为什么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左右。

本次安装,没有选择现成的镜像,从docker的github上,把dockerfile搞到本地,然后build镜像。如果不出意外的话,步骤很简单。

dockerfile文件在此: https://github.com/docker-library/mysql/blob/master/8.0/Dockerfile.debian

把dockerfile:Dockerfile.debian复制也好,wget也好,搞到本地,然后执行:

经过漫长的等待,期待,docker给我报了个错误。截图如下:

可见,报错内容为:目录不存在,不过/var/lib/docker/tmp/docker-builderxxxxx这个目录,是build在运行时的临时目录,build完成后,就会被删掉。所以,在build的时候,这里有没有docker-builderxxxxx这个目录,目录下有没有config,我也不知道。

但是问题还是要解决的,看一下dockerfile的内容

这样,把dockerfile里需要的内容,都手动的放到当前目录里,在此build。就可以通过了。

为什么直接执行build,会提示在tmp目录下找config呢?我觉得是build的时候,tmp目录下的docker-builderxxxxx目录会映射到当前目录。报的这个错误其实就是从当前目录找config文件,当前目录没有,就去映射的docker-builderxxxxx目录下找,而docker-builderxxxxx目录下因为我不知道的原因也没有,所以就报错了。只需要确保当前目录下有dockerfile里需要的文件就可以解决了。

1 用主从模式 看文档,这个最简单,但是同步的话非常麻烦。

2 用专门的集群软件 mysql网站上有介绍,但是只支持linux

mysql> show master status

+-------------+----------+--------------+------------------+

| File        | Position | Binlog_do_db | Binlog_ignore_db |

+-------------+----------+--------------+------------------+

| bin_log.003 | 73       | book,xtdb    |                  |

+-------------+----------+--------------+------------------+

mysql> show slave status

+---------------+-------------+-------------+---------------+-------------+-----+---------------+-----------------+---------------------+------------+------------+--------------+

| Master_Host   | Master_User | Master_Port | Connect_retry | Log_File    | Pos | Slave_Running | Replicate_do_db | Replicate_ignore_db | Last_errno | Last_error | Skip_counter |

+---------------+-------------+-------------+---------------+-------------+-----+---------------+-----------------+---------------------+------------+------------+--------------+

| 192.168.0.101 | backup      | 3306        | 60            | bin_log.003 | 73  | Yes           | book,xtdb       |                     | 0          |            | 0            |

+---------------+-------------+-------------+---------------+-------------+-----+---------------+-----------------+---------------------+------------+------------+--------------+


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

原文地址: https://outofmemory.cn/zaji/7439480.html

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

发表评论

登录后才能评论

评论列表(0条)

保存