一 建立Dockerfilegit
[root@zxmrlc docker]# mkdir redis [root@zxmrlc docker]# cd redis && touch Dockerfile
1 #version: 2019-1-28 2 FROM centos:7.5.1804 3 MAINTAINER zxMrlc 4 #前置GCC編譯環境 5 RUN ["yum","-y","update"] 6 RUN ["yum","-y","install","gcc"] 7 # 應該採用相似數組的方式進行傳遞命令 非數組形式 會在命令前 /bin/sh -c 運行,會出現不少問題。由於sh簡化版,跑腳本會出現不少莫名其妙的error ,由於是測試 就先簡化寫了。 8 9 # 玄學前置 ubuntu 不須要 centos 須要 10 RUN yum install -y epel-release 11 #redis 安裝 固定版本5.0.0 爲例子 12 RUN yum install -y gcc 13 RUN yum install -y wget 14 RUN yum clean all 15 RUN wget download.redis.io/releases/redis-5.0.0.tar.gz 16 #也能夠先下載在宿主機上而後ADD ADD的時候會自動解壓 17 #掛載後進行解壓也是能夠的 18 RUN tar -zxvf redis-5.0.0.tar.gz -C /usr/local/ && rm -f redis-5.0.0.tar.gz 19 RUN yum install -y make 20 RUN cd /usr/local/redis-5.0.0/ && make MALLOC=libc 21 ##########修改配置開啓遠程鏈接,關閉保護模式########## 22 ##########不該該開啓後臺進程運行模式,用後臺啓動會致使容器退出########## 23 RUN sed -i -e 's@bind 127.0.0.1@bind 0.0.0.0@g' /usr/local/redis-5.0.0/redis.conf \ 24 && sed -i -e 's@protected-mode yes@protected-mode no@g' /usr/local/redis-5.0.0/redis.conf 25 #&& sed -i -e 's@daemonize no@daemonize yes@g' /usr/local/redis-5.0.0/redis.conf 26 ##########設置密碼########## 27 #RUN echo "requirepass test" >> /usr/local/redis-5.0.0/redis.conf 28 EXPOSE 6379 29 30 ENTRYPOINT /usr/local/redis-5.0.0/src/redis-server /usr/local/redis-5.0.0/redis.conf 31 #CMD []
25行的配置必定不要打開,雖然日常在本機運行時都是經過後臺運行。可是在容器中單獨運行後臺程序,終端沒有內容會直接結束容器。github
二 構建鏡像redis
[root@zxmrlc redis]# docker build -t redis:v2019.1.28.6 $PWD
簡單的話寫.更好。怕看不清更換成$PWDdocker
三 運行容器ubuntu
指定端口映射,前面已經設定6379自動映射,這裏直接給定端口範圍 便可 ,restart 應該設置爲alwayscentos
[root@zxmrlc redis]# docker run -d --name=redis -p6379:6379 redis:v2019.1.28.6
仍是映射到主機上的6379了 查看一下數組
[root@zxmrlc redis]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d072626e4b32 redis:v2019.1.28.6 "/bin/sh -c '/usr/..." 31 minutes ago Up 3 seconds 0.0.0.0:6379->6379/tcp redis
端口列0.0.0.0:6379->6379/tcp 是ok的 若是隻有6379/tcp就是失敗的bash
四 監控redis tcp
因爲版本5.0.0比較新,因此下載教新的RedisDestopManager 放個連接 官網下載要訂閱,github有源碼編譯很麻煩。。測試
連接:https://pan.baidu.com/s/13mk2UuC_zIz75T9UWunvkA
提取碼:7xoq
五 持久化
持久化的解決方案就很簡單了 在配置文件裏修改開啓持久化,而且將目錄掛載在宿主機便可