Docker安裝Redis

Docker安裝Redis

初次使用Docker安裝各類環境,果真是一堆坑啊,坑,坑,坑,坑死我了。。git

大概步驟:github

  1. 上傳Redis到宿主機,或者在宿主機中下載
  2. 編寫Dockerfile構建鏡像
  3. 編寫supervisor配置文件
  4. build和run

Redis安裝redis

# 下載安裝Redis
$ wget http://download.redis.io/releases/redis-3.0.5.tar.gz
$ tar xzf redis-3.0.5.tar.gz
$ cd redis-3.0.5
$ make

# make完成以後,能夠運行make test來驗證
$ make test

# 啓動redis server,使用默認的redis.conf配置
$ cd src
$ ./redis-server ../redis.conf

# 啓動redis client來鏈接server,登陸密碼能夠參考redis.conf配置
$ cd src
$ ./redis-cli 

# 參考:
http://redis.io/download
# 若是以上操做都沒問題,就說明redis已經安裝和啓動成功了
  •  

Dockerfile文件docker

############################################
# version : birdben/redis:v1
# desc : 當前版本安裝的redis
############################################
# 設置繼承自咱們建立的 tools 鏡像
FROM birdben/tools:v1

# 下面是一些建立者的基本信息
MAINTAINER birdben (191654006@163.com)

# 設置環境變量,全部操做都是非交互式的
ENV DEBIAN_FRONTEND noninteractive

# 添加 supervisord 的配置文件,並複製配置文件到對應目錄下面。(supervisord.conf文件和Dockerfile文件在同一路徑)
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf

# 設置 redis 的環境變量,若讀者有其餘的環境變量須要設置,也能夠在這裏添加。
ENV REDIS_HOME /software/redis-3.0.0
ENV LC_ALL C

# 複製 redis-3.0.0 文件到鏡像中(redis-3.0.0文件夾要和Dockerfile文件在同一路徑)
ADD redis-3.0.0 /software/redis-3.0.0

# 掛載/redis目錄
VOLUME ["/redis"]

# 容器須要開放Redis 6379端口
EXPOSE 6379

# 執行supervisord來同時執行多個命令,使用 supervisord 的可執行路徑啓動服務。
CMD ["/usr/bin/supervisord"]

Dockerfile源文件連接:ssh

https://github.com/birdben/birdDocker/blob/master/redis/Dockerfileui

supervisor配置文件內容spa

# 配置文件包含目錄和進程
# 第一段 supervsord 配置軟件自己,使用 nodaemon 參數來運行。
# 第二段包含要控制的 2 個服務。每一段包含一個服務的目錄和啓動這個服務的命令。

[supervisord]
nodaemon=true

[program:sshd]
command=/usr/sbin/sshd -D

[program:redis]
# 注意這裏指定的redis.conf文件路徑,必須是絕對路徑
command=/software/redis-3.0.0/src/redis-server /redis/redis.conf

控制檯終端.net

# 構建鏡像
$ docker build -t="birdben/redis:v1" .
# 執行已經構件好的鏡像
$ docker run -p 9999:22 -p 6379:6379 -t -i -v /docker/redis:/redis "birdben/redis:v1"
  •  

遇到的問題和解決方法code

# supervisor配置文件內容
# 注意這裏指定的redis.conf文件路徑,必須是絕對路徑
# 好用
command=/software/redis-3.0.0/src/redis-server /redis/redis.conf
# 很差用
command=/software/redis-3.0.0/src/redis-server ../redis.conf
相關文章
相關標籤/搜索