この記事で実装されている機能
redis.conf 起動時の Redis コンテナの起動と失敗を解決する
redis.conf の一部の構成の概要
docker run コマンドのパラメータを理解する
redis.conf の設定ファイルを理解する
redis を開くと、役に立たない情報がたくさん表示されます。 .conf
![1590029624447347.png redis.confを使用してRedisコンテナの起動に失敗する問題を解決する](https://img.php.cn/upload/image/248/737/199/1590029624447347.png)
grep コマンドを使用して単純に処理すると、redis.conf のすべての構成情報が表示されますが、ここで入力したコマンドでは表示できません。編集可能です
コマンドを実行します: cat redis.conf | grep -v "#" | grep -v "^$"
![1590029819173940.png redis.confを使用してRedisコンテナの起動に失敗する問題を解決する](https://img.php.cn/upload/image/887/964/741/1590029819173940.png)
ただし、上記はredis.conf の設定情報をすべて取得します 出てきますが、変更することはできません この内容を別ファイルに出力することができます この時、redis 配下に redis-test.conf ファイルが表示されます。 #コマンドを実行: cat redis.conf | grep -v "#" | grep -v "^$" ->redis-test.conf
現時点では、これは redis-test.conf にあります。 いくつかの構成情報を変更します
#ここでは、最初にいくつかの構成を理解します。その後の構成は後続のファイルに順次書き出されます。
daemonize no: redis はデフォルトではデーモン プロセスとして使用されません。そのため、構成ファイルを変更せずに redis-server /redis/redis.conf を直接使用すると、redis が起動されます。はサービスを直接表示します。このターミナルを操作する方法はありません。新しいターミナルを開いて redis に接続することしかできません。 requirepass fo Bared: redis には接続するためのパスワードがありません。デフォルトですが、セキュリティのためにパスワードを設定する必要があります バインド 127.0.0.1: この設定項目は通常、直接コメント アウトされています。この設定をオンにした後は、ローカル マシンのみが実行できます。 redis に接続します-
#上記の構成情報は、この記事で知っておく必要がある 3 つの構成情報です
#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: コンテナ終了時に再起動しない-失敗: コンテナーの終了に失敗したときに再起動します (戻り値がゼロ以外) 常に: コンテナーの終了時に常に再起動します
-
Redis コンテナーの起動に関する解決策 redis.conf 時間ベースの起動と失敗
redis.conf のいくつかのパラメータと docker run のいくつかの共通パラメータがわかったら、redis.conf を使用して起動するときに直接失敗する問題を解決します。
その後、コンテナの作成を開始します。一部のパートナーは、「警告: IPv4 転送が無効になっています。ネットワークは機能しません。」というエラーを見つけるでしょう。`
それを解決しましょうまずこの問題です。![1590032563412295.png redis.confを使用してRedisコンテナの起動に失敗する問題を解決する](https://img.php.cn/upload/image/865/313/257/1590032563412295.png)
コマンド `vim /usr/lib/sysctl.d/00-system.conf`を実行します。
次のコード `net.ipv4.ip_forward=1`## を追加します。
#ネットワークコマンド「systemctl restart network」を再起動します
#実行すれば問題ありません
そしてコンテナに入ると、問題を見つけてください。コンテナ作成後に直接終了しました。
![1590032795837931.png redis.confを使用してRedisコンテナの起動に失敗する問題を解決する](https://img.php.cn/upload/image/568/357/711/1590032795837931.png)
あなたは今とても落ち込んでいますか。なぜ直接終了したのですか。これが、上記で redis.conf と docker run コマンド パラメーターのいくつかの構成情報を提案した理由です。
現時点では、redis.conf に `daemonize no` があるかどうかを確認しています。このパラメータは、デーモン プロセスとして実行するかどうかです。開発プロセス中に、この設定をオンにして設定します。それは「はい」になります。
それでは、docker run コマンドにパラメータ `-d` があることを確認してみましょう、このパラメータもデーモンプロセスとして実行されます。
redis.conf が Docker 設定と競合していることは明らかです。
構成ファイルを開き、デーモンプロセスを no に変更します
![1590033519412190.png redis.confを使用してRedisコンテナの起動に失敗する問題を解決する](https://img.php.cn/upload/image/876/747/266/1590033519412190.png)
#次に、作成したばかりの Redis コンテナーを削除し、ここで上記のコマンドを実行します。コンテナーが作成が成功し、開いた状態になりました。
この時点で、コンテナー `docker exec -it redis /bin/bash` に入るときに、パスワードを入力する必要があることがわかります。 redis-cli に接続します。これも redis.conf で構成されます。
![1590033866468428.png redis.confを使用してRedisコンテナの起動に失敗する問題を解決する](https://img.php.cn/upload/image/619/588/216/1590033866468428.png)
上記は、redis.conf を使用して Redis コンテナーの起動に失敗する問題を解決するための Kaka のソリューションです。
以上がredis.confを使用してRedisコンテナの起動に失敗する問題を解決するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。