redisのdockerファイル、docker-composeでredisを構成する
環境の準備:
docker 18.06.1-ce
docker-compose 1.23.0-rc3
redis例えば5.0.3
1 redisのdockerfileを作成する
redis.confの部分は以下の通りです.
redis-entrypoint.shの内容は以下の通りである.
2 dockerミラーの生成
ディレクトリ構造は次のとおりです.
dockerfile binディレクトリにはredis-entrypointが入っています.sh confディレクトリの中はredisです.conf
3直接docker起動を選択した場合のコマンドは次のとおりです.
ここでce 209681068はミラーIDである
4 docker-composeをプロジェクト起動として選択すると、docker-compose.yamlファイルは次のとおりです.
5 docker-compose -p own_redis up-d起動、redis/log/redis.log to check redis start log
docker 18.06.1-ce
docker-compose 1.23.0-rc3
redis例えば5.0.3
1 redisのdockerfileを作成する
FROM redis:5.0.3
LABEL "maintainer"="xx@yy"
ENV TIME_ZONE=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone
RUN mkdir -p /data/redis
WORKDIR /app_redis
RUN mkdir -p /app_redis/log
ADD conf ./conf
ADD bin ./bin
RUN chown redis:redis /app_redis/* && \
chmod +x ./bin/redis-entrypoint.sh
EXPOSE 6379
CMD ["./bin/redis-entrypoint.sh"]
redis.confの部分は以下の通りです.
# daemonize yes, ( & )。
daemonize no
#
port $REDIS_PORT
#
logfile "/app_redis/log/redis.log"
#
dir "/data/redis"
requirepass $REDIS_PASSWORD
redis-entrypoint.shの内容は以下の通りである.
#!/usr/bin/env sh
sed -i "s/\$REDIS_PORT/$REDIS_PORT/g" /app_redis/conf/redis.conf # , docker-compose
sed -i "s/\$REDIS_PASSWORD/$REDIS_PASSWORD/g" /app_redis/conf/redis.conf #
redis-server /app_redis/conf/redis.conf
2 dockerミラーの生成
docker build -t mall/redis:5.0.3 -f Dockerfile .
ディレクトリ構造は次のとおりです.
dockerfile binディレクトリにはredis-entrypointが入っています.sh confディレクトリの中はredisです.conf
3直接docker起動を選択した場合のコマンドは次のとおりです.
docker run -d -p 6379:6379 --name redis -v /data/reid/soft/redis-5.0.3/docker/conf/:/app_redis/conf -v /data/redis:/data/redis -v /data/reid/soft/redis-5.0.3/docker/redis/log:/app_redis/log ce209681068
ここでce 209681068はミラーIDである
4 docker-composeをプロジェクト起動として選択すると、docker-compose.yamlファイルは次のとおりです.
version: '2'
services:
redis:
image: xxx/mall/redis:5.0.3
container_name: redis
restart: always
ports:
- 127.0.0.1:26379:6379
environment:
- REDIS_PORT=6379
- REDIS_PASSWORD="123"
volumes:
- $PWD/conf:/app_redis/conf
- $PWD/redis/data:/data/redis
- $PWD/redis/log:/app_redis/log
#command: redis-server /etc/redis/redis.conf
5 docker-compose -p own_redis up-d起動、redis/log/redis.log to check redis start log