【Docker入门学习】(四) 使用Dockerfile构建镜像
下面以一个例子来演示构建镜像的过程。
#在/tmp目录下演示
cd tmp
mkdir build-redis-image
1.创建Dockerfile文件
vim Dockerfile
并写入如下内容:
# 构建Redis镜像:在Centos7.4镜像中安装redis后打包成自己的镜像。
#基于Centos7.4构建
FROM centos:7.4
#安装依赖
RUN yum -y install tar cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl
#创建安装目录
RUN mkdir -p /redis/data && cd /redis
#拷贝redis的安装包
COPY ./redis-3.0.0.tar.gz /redis
#解压
RUN cd /redis && tar -xvf redis-3.0.0.tar.gz && rm -rf redis-3.0.0.tar.gz && cd redis-3.0.0
#编译、安装
RUN cd /redis/redis-3.0.0 && make && make install
#复制配置文件到/redis中,并且修改redis为后台运行
RUN cp /redis/redis-3.0.0/redis.conf /redis/ && echo "daemonize yes" >> redis.conf
#设置数据挂载目录以及工作目录
VOLUME /redis/data
WORKDIR /redis/data
#容器启动后执行该命令
ENTRYPOINT ["/usr/local/bin/redis-server", "/redis/redis.conf"]
#设置对外的端口号
EXPOSE 6379
然后上传需要打包的redis-3.0.0.tar.gz文件到上面创建的/tmp/build-redis-image目录下,这里使用rz命令上传。
rz
2.使用docker build命令构建
docker build -t my-redis:3.0 . (后面有个点,表示当前路径)
接下来就可以使用我们自己构建的镜像来创建容器了。
3.创建容器
docker create --name myRedis -p 6379:6379 -t my-redis:3.0
4.启动容器
docker start myRedis
5.尝试着连接一下redis
docker exec -it myRedis /bin/bash
redis-cli
或者直接使用RedisDesktopManager连接
参考:
编写Docker最佳实践(翻译:编写Dockerfiles的最佳实践)
不积跬步,无以至千里。不积小流,无以成江海!