Dockerで構築したFastDFS環境におけるコンテナ起動とフラッシュバックの現象を詳しく解説

今日、Xiaobian が FastDFS の実践的な知識を学んだとき、彼は Docker を使用して FastDFS 環境を構築する必要がありました。FastDFS 環境の構築中、エディターは通常、標準の環境構築手順に従いましたが、構築プロセス中に、コンテナーが発生しました。がクラッシュし、コンテナのログ情報に「standard_init_linux.go:195: exec user process crashed "exec format error"」というエラーが表示されました。この現象は長い間エディターを悩ませてきました。何度も試みた結果、エディターはついに解決策を見つけました。この問題について、話の冒頭は次のようになります。

1. まず、エディターが Docker から FastDFS イメージをプルし、プルは成功しました。

 2. エディターは、プロセスで 2 つのコンテナーを作成する必要があり、両方のコンテナーで同じ問題が発生したため、関連するコンテナーの作成を開始しました。ここでは、コンテナーの 1 つが表示され、もう 1 つのコンテナーは同じです。コマンドコンテナ作成の場合 ここにはデモはありません。インターネットにアクセスして表示できます。

上図の赤枠内のコンテナがエディタで作成したコンテナであることがわかりますが、コンテナを作成してもすぐには起動しなかったため、エディタが手動でコンテナを起動しました。

 ここまではすべて正常ですが、 docker ps コマンドを使用して現在実行中のコンテナを表示すると、次の状況が表示されます。空で、正常に起動するコンテナがありません。

 3. 上記の状況で、エディターは何度も実験を繰り返しましたが、コンテナを起動する方法がなかったので、docker logs tracker1 コマンドを使用してコンテナのログ情報を表示しました。表示され、standard_init_linux.go: 195 : exec user process crashed "exec format error" が表示されます。このエラーは、ユーザー プロセスの実行により実行形式エラーが発生したことを意味します

私もこのような状況に遭遇するのは初めてですが、以前自分の Linux 仮想マシンに docker をインストールして使用したときにもこのような状況に遭遇したことがあり、何度もブログの知識の海をさまよった後、ついにこの状況が見つかりました。問題の重要な点は、イメージのアーキテクチャが仮想マシンのアーキテクチャと異なること です。

4. 問題の解決策は最終的にネットユーザーの投稿に依存します。この投稿では、 docker コマンドを使用してミラー構造を表示する方法、docker Inspection morunchang/fastdfs が記載されています。これで問題が実際に見つかりました。FastDFS ミラーが表示されます。アーキテクチャはamd64です。

コマンドuname -a を使用してクエリを実行し、仮想マシン システムのアーキテクチャを再度確認しました。結果は次のとおりです。仮想マシンのアーキテクチャがaarch64であることがわかります。

 仮想マシンとミラーイメージのアーキテクチャが異なるため、上記の問題が発生します。編集者のコンピュータが M1 チップであるため、仮想マシンのインストールでは aarch64 アーキテクチャ システムしか選択できないためです

5. そこで、エディターは公式 Docker Web サイトにアクセスして FastDFS に関連するイメージをチェックしたところ、エディターがインストールしたイメージが私のシステムのアーキテクチャと一致しないことがわかりました。 

しかし最終的に、エディターはaarch64 アーキテクチャで使用できる FastDFS イメージを見つけました。

 そのため、FastDFS 環境を再確立し、イメージをプルし、関連するコンテナーを再作成します。

最終的に、コンテナは正常に起動され、フラッシュバックの想像はなくなり、問題は解決されました。 

 

おすすめ

転載: blog.csdn.net/weixin_50249953/article/details/128551187