이 문서에서는 다음 기능을 구현합니다.
redis.conf를 시작할 때 redis 컨테이너의 시작 및 실패를 해결합니다.
redis.conf의 일부 구성을 간략하게 이해합니다.
docker run 명령의 매개 변수 이해
redis.conf를 열면 쓸데없는 정보가 많이 보입니다
grep 명령을 사용하여 간단히 처리하면 redis의 모든 구성 정보를 볼 수 있습니다. 하지만 지금 입력한 명령은 허용되지 않습니다. 편집된
실행 명령: cat redis.conf | grep -v "#" | grep -v "^$"
위의 구성 정보는 모두 가져옵니다. redis.conf는 수정할 수 없습니다. 이 경우 redis
아래에서 redis-test.conf 파일을 볼 수 있습니다. cat redis.conf | #" | grep -v "^$" ->redis-test.conf
이때 redis-test.conf
에서 일부 구성 정보를 수정할 수 있습니다. 여기에서 먼저 몇 가지를 이해합니다. 구성 및 다음 구성은 후속 파일에 순차적으로 작성됩니다.
daemonize no: redis는 기본적으로 데몬 프로세스로 사용되지 않으므로 구성을 수정하지 않을 때 redis-server를 직접 사용하는 것입니다. file /redis/redis .conf redis를 시작하면 서비스가 직접 표시됩니다. 이 터미널에서는 다른 작업을 수행할 수 없습니다. redis
에 연결하려면 새 터미널만 열 수 있습니다. requirepass foobared: redis에는 비밀번호가 없습니다. 기본적으로 연결하지만 보안을 위해 여전히 비밀번호가 필요합니다. Set
바인딩 127.0.0.1: 이 구성 항목은 일반적으로 이 구성이 활성화된 후에는 로컬 시스템만 redis
위 구성 정보는 이 글에서 알아야 할 세 가지 구성 정보입니다. 정보
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.conf의 여러 매개변수와 docker run의 여러 공통 매개변수를 알고 나면 redis.conf 실패 문제를 시작할 때 이 문제를 직접 해결해 보겠습니다.
그런 다음 컨테이너 생성을 시작하면 일부 파트너는 '경고: IPv4 전달이 비활성화되었습니다. 네트워킹이 작동하지 않습니다'라는 오류를 발견하게 됩니다.
이 문제를 먼저 해결해 보겠습니다
vim /usr/lib/ 명령을 실행하세요. sysctl .d/00-system.conf`
다음 코드 `net.ipv4.ip_forward=1`을 추가하세요
네트워크 명령 `systemctl restart network`
을 다시 시작하세요. 실행하면 문제가 없습니다
그럼 컨테이너에 들어가시면 저희 문제가 보이실 겁니다. 컨테이너를 만든 후 바로 나갔습니다.
이때 왜 바로 나갔나요? 이것이 위에서 우리가 redis.conf 및 docker run 명령 매개변수의 일부 구성 정보를 제안한 이유입니다.
현재 redis.conf에 'daemonize no' 매개변수가 있는지 검토 중입니다. 이 매개변수는 개발 과정에서 이 구성을 활성화하고 yes로 구성하겠습니다. .
그럼 docker run 명령에 '-d' 매개변수가 있는지 살펴보겠습니다. 이 매개변수도 데몬 프로세스로 실행됩니다.
이제 redis.conf가 docker 구성과 충돌한다는 것이 분명해졌습니다
구성 파일을 열고 데몬 프로세스를 no
그런 다음 방금 생성한 redis 컨테이너를 삭제합니다. 여기에서 위 명령을 실행하면 컨테이너가 성공적으로 생성되어 열린 상태인 것을 확인할 수 있습니다
이때 `docker exec -it redis /bin/bash` 컨테이너를 입력하면 redis.conf에 설정되어 있는 redis-cli 접속 시 비밀번호를 입력해야 하는 것을 알 수 있습니다.
위는 redis.conf를 사용하여 Redis 컨테이너 시작 실패 문제를 해결하기 위한 Kaka의 솔루션입니다
위 내용은 redis.conf를 사용하여 Redis 컨테이너 시작 실패 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!