docker search centos
docker pull centos:7
docker images centos:7
docker run -it centos:7 /bin/bash
此时进入容器内部,图中“705ccba62a5
”为容器ID
yum -y install wget gcc make libgcc gcc-c++ glibc-devel
exit
docker ps -a
由此可知,容器的ID为3b898a823d80
docker commit -a "huawei.com" -m "redis images" f42cb9a0bf6f(此处为容器ID注意替换为自己的容器ID) centos:7
其中:
huawei.com:提交的镜像作者
3b898a823d80:容器ID
redis images:提交时的说明文字
centos:7:新生成的镜像名称
docker images
由此可知,新镜像centos:7构建成功。
mkdir -p ~/redis/data
数据卷data目录将映射为redis容器配置的/data目录,作为redis数据持久化的存储目录。
cd ~/redis
vi Dockerfile
FROM centos:7
WORKDIR /home
RUN wget https://repo.huaweicloud.com/redis/redis-4.0.3.tar.gz && \
tar -xvzf redis-4.0.3.tar.gz && \
mv redis-4.0.3/ redis && \
rm -f redis-4.0.3.tar.gz
WORKDIR /home/redis
RUN make && make install
Volume /dataEXPOSE 6379
CMD ["redis-server"]
docker build -t centos_redis:4.0.3 .
docker images
说明Redis镜像创建成功,镜像名称:centos_redis,标签4.03,镜像ID ec392ba2c006。
docker run -p 6379:6379 -v /root/redis/data:/data -d centos_redis:4.0.3 redis-server --appendonly yes
命令说明:
-p 6379:6379 : 将容器的6379端口映射到主机的6379端口。
-v $PWD/data:/data : 将主机中当前目录下的data挂载到容器的/data。
redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置。
docker ps
执行redis-cli命令连接到刚启动的容器,并敲入info命令(其中530078068cb2为上一步中查看的容器的ID)
docker exec -it 530078068cb2(此处为容器ID注意替换为自己的容器ID) redis-cli
info
说明连接redis-server成功。
ping
set runkey "hello redis"
get runkey
说明:
ping返回PONG说明检测到 redis 服务已经启动。
set runkey “hello redis”:设置runkey值为"hello redis",返回OK,说明设置成功。
get runkey:获取runkey的值,返回"hello redis"说明与设置的相匹配