【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连接

 

参考:

Dockerfile官方指南

编写Docker最佳实践(翻译:编写Dockerfiles的最佳实践)

Docker开发最佳实践(翻译:基于docker开发的最佳实践)

docker入门——构建镜像

posted @ 2018-11-22 18:35  静水楼台/Java部落阁  阅读(352)  评论(0编辑  收藏  举报