1. 准备介质

redis源码可从redis官网下载

准备一个redis的配置文件 redis-6300.conf,内容如下:

#端口
port 6300
#开启远程连接 
bind 0.0.0.0

因为需要将Centos镜像中的yum源更换为阿里云,需要准备yum的配置文件,本文使用Centos8的Docker镜像,相关的阿里云yum配置自行下载

下载后重命名为基准镜像(Centos8)/etc/yum.repos.d 路径下yum源的基础配置文件名,Centos8 为CentOS-Linux-BaseOS.repo

将源码和配置文件上传至服务器的目录中,并在同级目录创建Dockerfile文件
在这里插入图片描述

2. 编写Dockerfile文件

#指定基础镜像,默认最新版本
FROM centos
#设置镜像yum源,此处应该先进行备份
RUN rm -f /etc/yum.repos.d/*
ADD CentOS-Linux-BaseOS.repo /etc/yum.repos.d/
#重新加载yum
RUN yum clean all
RUN yum makecache
WORKDIR /usr/local
#安装编译必备组件
RUN ["yum","install","-y","gcc","gcc-c++","net-tools","make"]
# 复制并解压缩
ADD redis-5.0.4.tar.gz .
WORKDIR /usr/local/redis-5.0.4/src
#编译安装
RUN make && make install
WORKDIR /usr/local/redis-5.0.4
#复制redis配置文件
ADD redis-6300.conf .
# 暴露端口
EXPOSE 6300
# 容器运行时默认启动redis服务
CMD ["redis-server","redis-6300.conf"]

gcc/gcc-c++ c语言源代码的编译组件
net-tools 网络程序包
make 安装程序的必备组件

3. 构建并运行

构建:

docker build -t young/docker-redis:v1 .

运行:

docker run -p 6300:6300 young/docker-redis:v1

检查是否正常运行

  • 进入容器 docker exec -it 容器id /bin/bash
  • 查看端口已正常监听 netstat -ntlp | grep 6300

此文主要用来了解镜像制作过程,学习Dockerfile的构建命令,实际开发中应从官方网站dockerhub获取官方提供的Docker镜像

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐