ホームページ  >  記事  >  データベース  >  redis.confを使用してRedisコンテナの起動に失敗する問題を解決する

redis.confを使用してRedisコンテナの起動に失敗する問題を解決する

咔咔
咔咔オリジナル
2020-05-21 12:05:493771ブラウズ

この記事で実装されている機能

redis.conf 起動時の Redis コンテナの起動と失敗を解決する

redis.conf の一部の構成の概要

docker run コマンドのパラメータを理解する

redis.conf の設定ファイルを理解する

redis を開くと、役に立たない情報がたくさん表示されます。 .conf

redis.confを使用してRedisコンテナの起動に失敗する問題を解決する

grep コマンドを使用して単純に処理すると、redis.conf のすべての構成情報が表示されますが、ここで入力したコマンドでは表示できません。編集可能です

コマンドを実行します: cat redis.conf | grep -v "#" | grep -v "^$"

redis.confを使用してRedisコンテナの起動に失敗する問題を解決する

ただし、上記はredis.conf の設定情報をすべて取得します 出てきますが、変更することはできません この内容を別ファイルに出力することができます この時、redis 配下に redis-test.conf ファイルが表示されます。 #コマンドを実行: cat redis.conf | grep -v "#" | grep -v "^$" ->redis-test.conf

redis.confを使用してRedisコンテナの起動に失敗する問題を解決する現時点では、これは redis-test.conf にあります。 いくつかの構成情報を変更します

redis.confを使用してRedisコンテナの起動に失敗する問題を解決する#ここでは、最初にいくつかの構成を理解します。その後の構成は後続のファイルに順次書き出されます。

    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 転送が無効になっています。ネットワークは機能しません。」というエラーを見つけるでしょう。`

それを解決しましょうまずこの問題です。redis.confを使用してRedisコンテナの起動に失敗する問題を解決する

コマンド `vim /usr/lib/sysctl.d/00-system.conf`を実行します。

次のコード `net.ipv4.ip_forward=1`## を追加します。

#ネットワークコマンド「systemctl restart network」を再起動します

#実行すれば問題ありません

そしてコンテナに入ると、問題を見つけてください。コンテナ作成後に直接終了しました。

redis.confを使用してRedisコンテナの起動に失敗する問題を解決する

あなたは今とても落ち込んでいますか。なぜ直接終了したのですか。これが、上記で redis.conf と docker run コマンド パラメーターのいくつかの構成情報を提案した理由です。

redis.confを使用してRedisコンテナの起動に失敗する問題を解決する現時点では、redis.conf に `daemonize no` があるかどうかを確認しています。このパラメータは、デーモン プロセスとして実行するかどうかです。開発プロセス中に、この設定をオンにして設定します。それは「はい」になります。

それでは、docker run コマンドにパラメータ `-d` があることを確認してみましょう、このパラメータもデーモンプロセスとして実行されます。

redis.conf が Docker 設定と競合していることは明らかです。

構成ファイルを開き、デーモンプロセスを no に変更します

redis.confを使用してRedisコンテナの起動に失敗する問題を解決する

#次に、作成したばかりの Redis コンテナーを削除し、ここで上記のコマンドを実行します。コンテナーが作成が成功し、開いた状態になりました。

redis.confを使用してRedisコンテナの起動に失敗する問題を解決するこの時点で、コンテナー `docker exec -it redis /bin/bash` に入るときに、パスワードを入力する必要があることがわかります。 redis-cli に接続します。これも redis.conf で構成されます。

redis.confを使用してRedisコンテナの起動に失敗する問題を解決する

上記は、redis.conf を使用して Redis コンテナーの起動に失敗する問題を解決するための Kaka のソリューションです。

以上がredis.confを使用してRedisコンテナの起動に失敗する問題を解決するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。