0
点赞
收藏
分享

微信扫一扫

Day15-docker的瘦身秘诀

逸省 2024-08-05 阅读 28

为何瘦身?

docker的镜像大小起初并不被技术人员重视
但是越来越多的镜像出现在企业的仓库中的时候,大家发现仓库的容量越来越小
对预算有限的公司来说 , 小的docker镜像可以节省开支
所以->  如何把docker的镜像降低下来呢?  
这就出现了docker -slim的需求

docker-slim下载

这个要特别注意。有一些服务需要去保存一些文件 image.png

由于武功有限,所以我们得上武当山去学习真功夫,才能翻阅一座座高山达到docker的故乡

image.png

那么我们要选择去拉取一下瘦身秘诀slim 
wget https://downloads.dockerslim.com/releases/1.40.3/dist_linux.tar.gz

image.pngimage.png

解压

我们要把这个包解压一下 进行配置
tar -zxvf dist_linux.tar.gz 
cd dist_linux
mv * /usr/local/bin

docker-slim -version


#关闭防火墙规则,如果你不知道是什么规则就这么做 产线经验
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
iptables -L -n

image.png

docker-slim的压缩大小影响因素

为什么有的镜像压缩的不是特别多
有的镜像却一下子压得都快没有了?

# 原因是 docker-slim 得镜像是不一样的
# 镜像有的是 系统镜像,有的是服务镜像

系统级别镜像压缩情况

这块拿archlinux:latest做一下实验
docker pull archlinux:latest

image.png

我们来压缩他看一看
slim build --target archlinux:latest --tag archlinux:curl --http-probe=false --exec "curl checkip.amazonaws.com"

image.png

我们看看能不能用
docker run archlinux:curl curl checkip.amazonaws.com #官方的测试

image.png

服务类我们在测试一个Ubuntu 
docker pull ubuntu:14.04
slim build --target ubuntu:14.04 --tag ubuntu:slim --http-probe=false 

image.png

docker run -itd --name ubuntu-test ubuntu:slim /bin/bash
是可以用的

image.png

测试一下编程语言压缩

docker pull golang
slim build --target golang:latest --tag golang:slim --http-probe=false 

image.pngimage.png

docker run -itd --name golang-test  golang:slim

image.png

测试一个mysql压缩

docker pull mysql
slim build --target mysql:latest --tag mysql:slim --http-probe=false 

image.png

docker run -itd --name mysql-test mysql:slim
#但是这个docker 容器 跑不起来

image.png image.png

提示

这块也可以用dockerfile去做
docker build -t httpd:v1 .
注意 上面的命令 默认的 -f 是dockerfile 如果没有dockerfile的话 
他是创建失败的

怎么让Mysql压缩之后跑起来呢?

我们可以看到mysql压缩了之后 是缺少了一些必要的文件的
所以我们可以用slim 的Include 命令将其包含在内,这样我们就可以实现mysql容器的启动了
先将原来的Mysql 删除 
docker rm -f id

slim build --http-probe=false --include-path=/var/lib/mysql-files --include-path=/etc/mysql --include-path=/1ogs --include-path=/var/lib/mysq1 --include-path=/var/run/mysqld --target mysql:5.7 --tag mysql:5.7-slim


docker run -itd --name mysql mysql:5.7-slim 也跑不起来

用了老师的这个也是失败了
可能是虚拟机存在一些问题
我们用了自己的和老师的都没跑起来

image.png

举报

相关推荐

Day 15

DAY15

day15

15、docker

Python-day15

javaweb day15

day15_Flink05

day15 python css

0 条评论