构建最小镜像
以 Redis 为例,先安装好 Docker 环境并编译安装 Redis
1.使用 ldd 命令查看 Redis 服务依赖的库,把依赖的库收集起来。
mkdir /opt/redis
whereis redis-server
ldd /usr/local/bin/redis-server
1
2
3
2
3
根据依赖的库所在目录,创建相应的目录:lib64,然后把相应的库文件拷贝该目录中。
2.找到 redis-server 所在目录,在新建的lib64的同级目录下,创建出Redis-Server启动命令的目录。
cd /opt/redis
mkdir -p usr/local/bin/
cp /usr/local/bin/redis-server usr/local/bin/
1
2
3
2
3
打包
tar -zcvf rootfs.tar.gz usr/* lib64/*
1
3、找到redis配置文件,放到lib64同级目录下。
配置文件名称:redis.conf ,本地redis如果时源码编译安装的可以在源码包中找到配置文件。
[root@localhost redis]# tree
.
├── Dockerfile
├── lib64
│ ├── ld-linux-x86-64.so.2
│ ├── libc.so.6
│ ├── libdl.so.2
│ ├── libm.so.6
│ ├── libpthread.so.0
│ └── librt.so.1
├── redis.conf
├── rootfs.tar.gz
└── usr
└── local
└── bin
└── redis-server
4 directories, 10 files
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
4.Dockerfile
FROM scratch
ADD rootfs.tar.gz /
COPY redis.conf /etc/redis/redis.conf
EXPOSE 6379
CMD ["redis-server"]
1
2
3
4
5
2
3
4
5
5.构建镜像
docker build -t redis:v1 -f Dockerfile .
1
网页编辑 (opens new window)
最近提交: 2023/03/22, 11:52:35