编写Docker最佳实践(翻译:编写Dockerfiles的最佳实践)
Docker开发最佳实践(翻译:基于docker开发的最佳实践)
下面以一个例子来演示构建镜像的过程。
#在/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连接