복붙노트

[REDIS] 호스트 컴퓨터에서 도커 컨테이너에서 레디 스 실행에 연결

REDIS

호스트 컴퓨터에서 도커 컨테이너에서 레디 스 실행에 연결

나는 종류와 같은 느낌의 아마 레디 스 컨테이너 이미지에 버그가이 고민 많은 사람들을보고, 다른 사람은 유사한 문제를 쫓는 것 같다.

나는 DockerHub에 표준 레디 스 이미지를 사용하고 있습니다. (https://github.com/dockerfile/redis)

이런 식으로 실행 :

docker run -it -p 6379:6379 redis bash

에 난 후에 나는 서버를 시작하고 컨테이너 이미지에서 레디 스 핑을 할 수 있습니다.

불행하게도, 나는 나의 호스트에서 레디 스 컨테이너에 연결할 수 없습니다.

I는 다음과 같이 설정을 시도했습니다.

bind 127.0.0.1

상기 구성에서 바인딩을 제거

보호 모드 해제 및 시도 차례

protected-mode no

난 그냥 테스트에 포트를 변경 이후는, 구성 파일을 읽고 알고, 나는 그렇게 할 수 있었다.

그래서 어쩌면이 문제를 네트워킹 창이다, 윈도우 10 실행 해요. 나는 일반적으로 고정 표시기에 문제가 없다. 나는 의아해 해요

해결법

  1. ==============================

    1.문제는 당신이 다음을 설정해야합니다, 당신의 바인드입니다 :

    문제는 당신이 다음을 설정해야합니다, 당신의 바인드입니다 :

    bind 0.0.0.0
    

    이것은 하나의 인터페이스 (eth0를) 및 루프백와 컨테이너 환경에서, 사용 가능한 모든 인터페이스에 결합하는 레디 스를 설정한다 (LO) 레디 스 상기의 양쪽에 결합된다. 당신은 파일을 config (설정) 또는 방화벽과 같은 외부 도구를 사용하여 다른 지시를 통해 보안 조치를 추가하는 것을 고려한다. 이 방법 모두가 당신의 레디 스 서버에 연결할 수에 있기 때문이다.

    기본 설정은 바인드 127.0.0.1이며,이 설정은 레디 스 만 루프백 인터페이스에서 수신하게됩니다, 그것은 용기 내부에서만 액세스 할 수 있습니다. (보안)

    사용자 정의 구성 파일 레디 스를 실행하려면 :

    sudo docker run -d --name redis-test -p 6379:6379  -v /path/to/redisconf/redis.conf:/redis.conf redis redis-server /redis.conf
    

    이제 설치 레디 스-도구를 사용하여 고정 표시기 호스트에서 확인하십시오 :

    sudo redis-cli                           
    127.0.0.1:6379> 
    127.0.0.1:6379> set farhad likes:stackoverflow
    OK
    127.0.0.1:6379> get farhad
    "likes:stackoverflow"
    127.0.0.1:6379> 
    

    당신은 또한을 통해 외부 호스트에서 레디 스 컨테이너에 연결할 수 있습니다 :

    redis-cli -h 'IP-address-of-dockerhost-running-redis-container'
    
  2. ==============================

    2.여기에 적절하게이 일을하기 위해 몇 가지 지침입니다.

    여기에 적절하게이 일을하기 위해 몇 가지 지침입니다.

    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
    systemctl enable docker ; systemctl start docker; systemctl status docker
    

    편의 스크립트를 사용하여 설치를 참조하십시오

    mkdir -p /etc/redis/
    chown -R 1000:1000 /etc/redis
    sudo docker run -d --name redis -p 6379:6379 --restart unless-stopped -v /etc/redis/:/data redis redis-server /data
    

    참고 : 컨테이너 포트에 고정 표시기 호스트 및 라우팅 : 솔루션의 핵심은 포트 (6379 6379 -p)를 노출하는 것입니다입니다 중요한 부분. 레디 스 도커 문서를 참조하십시오

  3. ==============================

    3.이 버전 4.0.9 (Win10에 도커 도구 상자)와 지금 쉬울 수 있습니다. 간단하게 다음, 레디 스 클라이언트와 연결 :

    이 버전 4.0.9 (Win10에 도커 도구 상자)와 지금 쉬울 수 있습니다. 간단하게 다음, 레디 스 클라이언트와 연결 :

    set bind 0.0.0.0
    save
    

    정지 후 새로운 설정 스틱 / 시작합니다.

  4. from https://stackoverflow.com/questions/41371402/connecting-to-redis-running-in-docker-container-from-host-machine by cc-by-sa and MIT license