Redisインストール(M 1 Docker)

5477 ワード

スプリングを使用してテストRedisを起動する前に、Redisを取り付けます.
brewを使用してimbeddreddisをインストールしない場合は、Dockerを使用してredisを個別にインストールできます.Dockerでインストールします.

Dockerのダウンロード


https://docs.docker.com/docker-for-mac/apple-silicon/
アップルのM 1 previewバージョンをダウンロードします.いつか正式版が出るのを楽しみにしています...
https://www.youtube.com/watch?v=xECyeupbn6c&ab_channel=AJTheEngineer

Redisインストール


https://hub.docker.com/_/redis TAG欄で他のものを受け取ることができます.
docker pull redis:alpine //stable한 alpine 버전 땡겨받는다.
イメージがセットされています.ここではサーバを直接駆動できますが、redis-cliも一緒に駆動して通信する必要があるため、2つのコンテナを実行し、この2つの接続のためにまずdocker-network構成を行う必要があります.
docker network create redis-net
docker network ls // 생성하고 확인
redisを実行し、以前に生成されたネットワーク情報を一緒に実行します.
sudo docker run --name my-redis -p 6397:6379 --network reids-net -v /Users/Redis:/data -d redis:alpine redis-server --appendonly yes
docker ps // 실행중인 프로세스(컨테이너) 확인
  • -name:指定コンテナ名
  • -p:ポート設定(デフォルトは6379)ホストに露出するポート
  • を指定します.
  • --ネットワーク:ネットワーク設定
  • v:ボリュームフォルダ(外部フォルダにデータを格納する場合)を指定し、ホストに接続するフォルダ
  • を指定します.
  • -d:バックグラウンドで
  • を実行

  • appendonly yesオプションは、AOF方式でデータを格納することを示す(注意:Redis Persistence Introduction).デフォルトでは、データは/dataサブアイテムに格納され、外部共有フォルダでコンテナを消去し、作成時にボリュームを参照することで、同じデータを保持できます.
    error while creating mount source path mkdir operation not permitted.
    このような場合は、ボリュームフォルダを作成し、デスクトップでファイル共有を設定します.


    redis-cliを使用して対応するredisサーバに接続します.
    docker run -it --network reids-net --rm redis:alpine redis-cli -h my-redis
    exit //빠져나가기
    -rm:実行時にコンテナ名が存在する場合は削除後に実行
  • h後のコンテナ名を使用してredis-cliを実行してredisサーバに接続します.
  • redis-serverを駆動する場合、-pオプションを使用してポートをホストに露出するため、redisがインストールされたローカルpcにも接続できます.

    https://emflant.tistory.com/235
    https://blog.naver.com/semtul79/222235108317
    https://jistol.github.io/docker/2017/09/01/docker-redis/

    他の設定が必要な場合は...


    レジストリ・サーバー・ポートの変更

  • DockerのRedis.confファイルを作成します.
  • pathは勝手にできます.
  • を入力しない場合は、デフォルトの設定に従います.
  • オプションの設定:  http://redisgate.kr/redis/configuration/param_daemonize.php
  • /redis/redis.conf
  • #daemonize no # yes로 변경시 구동되지 않음
    # bind 127.0.0.1
    protected-mode no
    
    port 6000 #변경하고자 하는 포트
    
    #logfile "redis.log" #이 옵션 사용시 파일로 로그가 저장되고 프롬프트는 노출되지 않음
    
    #workingdir을 지정
    #dir /data
    
    # SECURITY
    requirepass changeme
    
    # CLIENTS
    maxclients 10000
  • 指定confファイルで実行:指定ボリューム
  • docker run --rm --name redis -p 6000:6000 -v /Users/jiyeonpark/Desktop/redisvolume/redis.conf:/usr/local/etc/redis/redis.conf -d redis:latest redis-server /usr/local/etc/redis/redis.conf --appendonly yes
    Dockerfileで
  • 設定
  • を設定する方法
  • https://yongho1037.tistory.com/699
  • log確認docker logs redis
  • クライアント接続ドックrun-it--link redis:最新--rm redis-cli-h redis-p 6000 ポート変更
  • テスト>auth changeme#[redis.conf入力パスワード]>info
  • Shellを使用してDocker LinuxのDocker ps Docker exec-it myredis/bin/bash
  • に接続
    ソース:https://littleshark.tistory.com/68