1.创建一个Dockerfile文件,文件内容如下:(注:expose为开放6379端口)
FROM centos:centos7
RUN groupadd -r redis && useradd -r -g redis redis
RUN yum update -y ; \
yum -y install gcc automake autoconf libtool make wget epel-release gcc-c++;
RUN mkdir -p /usr/src/redis; \
wget https://github.com/antirez/redis/archive/5.0.7.tar.gz; \
tar -zxvf 5.0.7.tar.gz -C /usr/src/redis; \
rm -rf 5.0.7.tar.gz; \
cd /usr/src/redis/redis-5.0.7 && make; \
cd /usr/src/redis/redis-5.0.7 && make install
EXPOSE 6379
2.在dockerfile文件目录下运行如下命令构建镜像,可通过docker images查看: docker build -t redis5 .
3.可修改镜像名称:docker tag redis5 test/redis5:v1
4.也通过 docker pull ..来拉取镜像,通过docker push..上传镜像到docker hub上
5.我们可以基于镜像构建容器,并将容器的端口映射到宿主机的8379上: docker run -itd -p 8379:7379 --name redis5_container redis5 通过docker ps容器
6.进入容器系统:docker exec -it redis5_container bash 进入后可通过ls查看容器内容
7.进入容器的/usr/src/redis/redis-5.0.7/src 中运行./redis-server 显示如下图示则安装成功
8.进入vi /usr/src/redis/redis-5.0.7/redis.conf中 1)注释 bind 127.0.0.1 2) 修改 protected-mode no 再运行redis-server /usr/src/redis/redis-5.0.7/redis.conf
9.通过redis管理工具访问:宿主机ip:8379即可访问到容器中的redis
10.可通过export和import迁移容器 例:
1)导出文件:docker export redis5_container > redis5.tar
2) import命令导入一个本地的tar包作为镜像:docker import redis5.tar redis5:v2
11.docker save:将指定镜像保存成tar归档文件:docker save [OPTIONS] IMAGE [IMAGE...]
容器之间的通信通过自定义网络如下: