HTML tutorial
CSS3 tutorial
Bootstrap tutorial
JavaScript tutorial
JQuery tutorial
AngularJS tutorial
React tutorial
NodeJS tutorial
PHP tutorial
Python tutorial
Python3 tutorial
Django tutorial
Linux tutorial
Docker tutorial
Ruby tutorial
Java tutorial
C tutorial
C ++ tutorial
Perl tutorial
JSP tutorial
Lua tutorial
Scala tutorial
Go tutorial
ASP.NET tutorial
C # tutorial
Create Dockerfile
First, create a directory redis, used to store back-related stuff.
w3resource@w3resource:~$ mkdir -p ~/redis ~/redis/data
data directory will be mapped to redis container configuration / data directory as redis data persistence storage directory
Redis enter the directory created, create Dockerfile
FROM debian:jessie # add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added RUN groupadd -r redis && useradd -r -g redis redis RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ wget \ && rm -rf /var/lib/apt/lists/* # grab gosu for easy step-down from root ENV GOSU_VERSION 1.7 RUN set -x \ && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)" \ && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc" \ && export GNUPGHOME="$(mktemp -d)" \ && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ && rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \ && chmod +x /usr/local/bin/gosu \ && gosu nobody true ENV REDIS_VERSION 3.2.0 ENV REDIS_DOWNLOAD_URL http://download.redis.io/releases/redis-3.2.0.tar.gz ENV REDIS_DOWNLOAD_SHA1 0c1820931094369c8cc19fc1be62f598bc5961ca # for redis-sentinel see: https://redis.io/topics/sentinel/ RUN buildDeps='gcc libc6-dev make' \ && set -x \ && apt-get update && apt-get install -y $buildDeps --no-install-recommends \ && rm -rf /var/lib/apt/lists/* \ && wget -O redis.tar.gz "$REDIS_DOWNLOAD_URL" \ && echo "$REDIS_DOWNLOAD_SHA1 *redis.tar.gz" | sha1sum -c - \ && mkdir -p /usr/src/redis \ && tar -xzf redis.tar.gz -C /usr/src/redis --strip-components=1 \ && rm redis.tar.gz \ && make -C /usr/src/redis \ && make -C /usr/src/redis install \ && rm -r /usr/src/redis \ && apt-get purge -y --auto-remove $buildDeps RUN mkdir /data && chown redis:redis /data VOLUME /data WORKDIR /data COPY docker-entrypoint.sh /usr/local/bin/ ENTRYPOINT ["docker-entrypoint.sh"] EXPOSE 6379 CMD [ "redis-server" ]
Create a mirror through Dockerfile, replace it with your own name
w3resource@w3resource:~/redis$ docker build -t redis:3.2 .
Once created, we can find the image you just created in the local mirror list
w3resource@w3resource:~/redis$ docker images redis REPOSITORY TAG IMAGE ID CREATED SIZE redis 3.2 43c923d57784 2 weeks ago 193.9 MB
Find redis mirror on Docker Hub
w3resource@w3resource:~/redis$ docker search redis NAME DESCRIPTION STARS OFFICIAL AUTOMATED redis Redis is an open source /en. 2321 [OK] sameersbn/redis 32 [OK] torusware/speedus-redis Always updated official /en. 29 [OK] bitnami/redis Bitnami Redis Docker Image 22 [OK] anapsix/redis 11MB Redis server image /en. 6 [OK] webhippie/redis Docker images for redis 4 [OK] clue/redis-benchmark A minimal docker image t/en. 3 [OK] williamyeh/redis Redis image for Docker 3 [OK] unblibraries/redis Leverages phusion/baseim/en. 2 [OK] greytip/redis redis 3.0.3 1 [OK] servivum/redis Redis Docker Image 1 [OK] /en.
Here we pull an official mirror, labeled 3.2
w3resource@w3resource:~/redis$ docker pull redis:3.2
Wait for the download is complete, we can find REPOSITORY is redis, labeled 3.2 mirrored in local mirror list.
w3resource@w3resource:~/redis$ docker run -p 6379:6379 -v $PWD/data:/data -d redis:3.2 redis-server --appendonly yes 43f7a65ec7f8bd64eb1c5d82bc4fb60e5eb31915979c4e7821759aac3b62f330 w3resource@w3resource:~/redis$
Command Description:
-p 6379: 6379: 6379 will be mapped to the host port container port 6379
-v $ PWD / data: / data : The data in the current directory of the host to mount the container / data
redis-server --appendonly yes: in container execution redis-server start command, and open redis persistence configuration
w3resource@w3resource:~/redis$ docker ps CONTAINER ID IMAGE COMMAND /en. PORTS NAMES 43f7a65ec7f8 redis:3.2 "docker-entrypoint.sh" /en. 0.0.0.0:6379->6379/tcp agitated_cray
Use a mirror to perform redis redis-cli command to connect to the newly launched vessel, host IP is 172.17.0.1
w3resource@w3resource:~/redis$ docker run -it redis:3.2 redis-cli -h 172.17.0.1 172.17.0.1:6379> info # Server redis_version:3.2.0 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:f449541256e7d446 redis_mode:standalone os:Linux 4.2.0-16-generic x86_64 arch_bits:64 multiplexing_api:epoll /en.