Docker - 第五章 | 安裝Redis 
    前面主要是介紹了下 Dockerfile 的一些常用命令的說明。我們知道,利用 Dockerfile 可以建立一個新的Image,比如運行 Java 環境,就需要一個JDK環境的Image,但直接使用公共的Image時,一般上大小都比較大。所以本章節就主要結合 Dockerfile 文件,建立屬於自己的 Image ,同時對 Image 進行壓縮和優化,同時也是對 Dockerfile 知識的一個實踐。
搜尋 Image 
拉取 Image 
查看 Image 
執行 Image 以下提供兩種執行指令,主要差異是在data掛載在預設的位置,或是將其指定到本機上。
1 docker run --name myredis -p 6379:6379 -d redis:3.2 redis-server --appendonly yes 
–name myredis :將 Container 取名為 myredis 
-p 6379:6379 :將 Container 的 6379 Port 映射到主機的 6379 Port (前面代表主機,後面代表容器) 
-d :後台執行 Container ,並返回ID 
redis-server –appendonly yes : 在 Container 執行 redis-server 啟動命令,並打開redis持久化配置 
 
1 2 cd /Users/morose/Documents/Temp/Docker/Redis docker run --name myredis -p 6379:6379 -v $PWD/data:/data -d redis:3.2 redis-server --appendonly yes 
–name myredis :將 Container 取名為 myredis 
-p 6379:6379 :將 Container 的 6379 Port 映射到主機的 6379 Port (前面代表主機,後面代表容器) 
-v $PWD/data:/data:將主機當前目錄下的data目錄掛載到 Container 的 /data 。 
-d :後台執行 Container ,並返回ID 
redis-server –appendonly yes : 在 Container 執行 redis-server 啟動命令,並打開redis持久化配置 
 
主機當前目錄下的data目錄掛載到 Container 的 /data
進入 Container 1 docker exec -it myredis bash 
-i :即使沒有附加也保持STDIN 打開 
-t :分配一個偽終端 
 
資料庫測試 
Redis Client 測試 這邊使用了 [Desktop Manager] 工具來做連線測試,這邊推薦幾個 Redis Client  工具,每個工具都有其特色,建議找個自己用的習慣的工具來做使用,必會事半功倍。
恭喜!這邊已經建立一個Redis可以做使用了。 
使用 Dockerfile 建立 首先,建立目錄 redis 用於存放後面的相關東西。
data:目錄將映射為redis容器配置的/data目錄做為redis資料持久化的存儲目錄 
 
進入建立的 redis 目錄,建立Dockerfile:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 FROM  debian:jessieRUN  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/* 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.gzENV  REDIS_DOWNLOAD_SHA1 0 c1820931094369c8cc19fc1be62f598bc5961caRUN  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"  ] 
通過Dockerfile建立一個鏡像,替換成你自己的名字。
1 $ docker build  -t redis:3.2 . 
建立完成後,我們可以在本地的鏡像列表裡查找到剛剛建立的鏡像。
註:以上參考了RUNOOB.COM  的 Docker 安装 Redis 文章。