>  기사  >  데이터 베이스  >  redis.conf를 사용하여 Redis 컨테이너 시작 실패 문제 해결

redis.conf를 사용하여 Redis 컨테이너 시작 실패 문제 해결

咔咔
咔咔원래의
2020-05-21 12:05:493770검색

이 문서에서는 다음 기능을 구현합니다.

redis.conf를 시작할 때 redis 컨테이너의 시작 및 실패를 해결합니다.

redis.conf의 일부 구성을 간략하게 이해합니다.

docker run 명령의 매개 변수 이해

구성 이해 redis.conf 파일

redis.conf를 열면 쓸데없는 정보가 많이 보입니다

redis.conf를 사용하여 Redis 컨테이너 시작 실패 문제 해결

grep 명령을 사용하여 간단히 처리하면 redis의 모든 구성 정보를 볼 수 있습니다. 하지만 지금 입력한 명령은 허용되지 않습니다. 편집된

실행 명령: cat redis.conf | grep -v "#" | grep -v "^$"

redis.conf를 사용하여 Redis 컨테이너 시작 실패 문제 해결

위의 구성 정보는 모두 가져옵니다. redis.conf는 수정할 수 없습니다. 이 경우 redis

아래에서 redis-test.conf 파일을 볼 수 있습니다. cat redis.conf | #" | grep -v "^$" ->redis-test.conf

redis.conf를 사용하여 Redis 컨테이너 시작 실패 문제 해결

이때 redis-test.conf

redis.conf를 사용하여 Redis 컨테이너 시작 실패 문제 해결

에서 일부 구성 정보를 수정할 수 있습니다. 여기에서 먼저 몇 가지를 이해합니다. 구성 및 다음 구성은 후속 파일에 순차적으로 작성됩니다.

  • daemonize no: redis는 기본적으로 데몬 프로세스로 사용되지 않으므로 구성을 수정하지 않을 때 redis-server를 직접 사용하는 것입니다. file /redis/redis .conf redis를 시작하면 서비스가 직접 표시됩니다. 이 터미널에서는 다른 작업을 수행할 수 없습니다. redis

  • 에 연결하려면 새 터미널만 열 수 있습니다. requirepass foobared: redis에는 비밀번호가 없습니다. 기본적으로 연결하지만 보안을 위해 여전히 비밀번호가 필요합니다. Set

  • 바인딩 127.0.0.1: 이 구성 항목은 일반적으로 이 구성이 활성화된 후에는 로컬 시스템만 redis

  • 에 연결할 수 있습니다.

위 구성 정보는 이 글에서 알아야 할 세 가지 구성 정보입니다. 정보

docker run 명령 매개변수 정보 이해하기

docker run 명령은 새 컨테이너를 생성하는 것입니다

다음은 제가 생성할 때 사용하는 명령입니다. 컨테이너`docker run -itd --restart="always" --name redis -v /usr/local/docker/data:/data -v /usr/local/docker/redis.conf:/etc/redis.conf --net mynetwork -p 6380:6379 --ip 172.10.0.2 redis:4.0 redis- server /etc/redis.conf`

  • i: 콘솔 상호 작용을 위해 STDIN 열기

  • t: tty 장치를 할당합니다. 터미널 로그인을 지원할 수 있습니다. 기본값은 false입니다.

  • d: 실행할 컨테이너를 지정합니다. 포그라운드든 백그라운드든 기본값은 false입니다.

  • v: 스토리지 볼륨을 컨테이너에 마운트하고 컨테이너에 마운트합니다. 컨테이너의 디렉터리

  • --net: 컨테이너는 자체 사용자 정의 네트워크를 사용합니다

  • -p: 포트 번호

  • --restart: 컨테이너가 중지된 후 다시 시작 전략을 지정합니다. no: Do ​​not restart when the 컨테이너 종료 시 실패: 컨테이너 종료 시 다시 시작(반환 값은 0이 아님) 항상: 컨테이너 종료 시 항상 다시 시작

시작 시 Redis 컨테이너의 시작 및 실패 문제 해결 redis.conf

redis.conf의 여러 매개변수와 docker run의 여러 공통 매개변수를 알고 나면 redis.conf 실패 문제를 시작할 때 이 문제를 직접 해결해 보겠습니다.

그런 다음 컨테이너 생성을 시작하면 일부 파트너는 '경고: IPv4 전달이 비활성화되었습니다. 네트워킹이 작동하지 않습니다'라는 오류를 발견하게 됩니다.

redis.conf를 사용하여 Redis 컨테이너 시작 실패 문제 해결

이 문제를 먼저 해결해 보겠습니다

vim /usr/lib/ 명령을 실행하세요. sysctl .d/00-system.conf`

다음 코드 `net.ipv4.ip_forward=1`을 추가하세요

네트워크 명령 `systemctl restart network`

을 다시 시작하세요. 실행하면 문제가 없습니다

redis.conf를 사용하여 Redis 컨테이너 시작 실패 문제 해결

그럼 컨테이너에 들어가시면 저희 문제가 보이실 겁니다. 컨테이너를 만든 후 바로 나갔습니다.

redis.conf를 사용하여 Redis 컨테이너 시작 실패 문제 해결

이때 왜 바로 나갔나요? 이것이 위에서 우리가 redis.conf 및 docker run 명령 매개변수의 일부 구성 정보를 제안한 이유입니다.

현재 redis.conf에 'daemonize no' 매개변수가 있는지 검토 중입니다. 이 매개변수는 개발 과정에서 이 구성을 활성화하고 yes로 구성하겠습니다. .

그럼 docker run 명령에 '-d' 매개변수가 있는지 살펴보겠습니다. 이 매개변수도 데몬 프로세스로 실행됩니다.

이제 redis.conf가 docker 구성과 충돌한다는 것이 분명해졌습니다

구성 파일을 열고 데몬 프로세스를 no

redis.conf를 사용하여 Redis 컨테이너 시작 실패 문제 해결

그런 다음 방금 생성한 redis 컨테이너를 삭제합니다. 여기에서 위 명령을 실행하면 컨테이너가 성공적으로 생성되어 열린 상태인 것을 확인할 수 있습니다

redis.conf를 사용하여 Redis 컨테이너 시작 실패 문제 해결이때 `docker exec -it redis /bin/bash` 컨테이너를 입력하면 redis.conf에 설정되어 있는 redis-cli 접속 시 비밀번호를 입력해야 하는 것을 알 수 있습니다.

redis.conf를 사용하여 Redis 컨테이너 시작 실패 문제 해결

위는 redis.conf를 사용하여 Redis 컨테이너 시작 실패 문제를 해결하기 위한 Kaka의 솔루션입니다

위 내용은 redis.conf를 사용하여 Redis 컨테이너 시작 실패 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.