質問: 先程の質問を〆切った後、マストドンのインスタンスを再構築したのですが、自分のサイトを開くと下の画像が出てきました。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/e3e8c9ce35a4995a797cda0a2715ab6b.jpeg) nginxのエラーログは次の通りです。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/5382e398098fb0f497363db4541860e6.jpeg) このログから推測すると、/usr/share/nginx/html/にデフォルトの画像がないようです。 ここに格納されるはずの画像はどこから引っ張ってくるのでしょうか?それとも別個にダウンロードが必要なのでしょうか? ちょっとややこしいですが、よろしくお願いします。 環境 お名前.comのVPSサービス使用 OS:CentOS7.3 nginx Ver.1.12.0 docker Ver.17.03.1 参考にしたサイト http://qiita.com/yz-2/items/9aadc5ce3f962e91275d
回答: 原因の切り分け方法は、 * Nginx側で見えない * そもそもDockerのwebサービスで画像が見ていない この2つが考えられます。`docker-compose logs -f web`を実行し、ログ中に`action=raise_not_found status=404`のように、ファイルが見つからない場合、Dockerイメージの再構築が必要です。 もし、`git clone https://github.com/tootsuite/mastodon.git` でソースコードを取得されていましたら、`master` ブランチのファイルがダウンロードされていると思います。このまま `docker-compose build` をしても、バージョンの差違により、設定ファイルのパスが事なることから見つからなくなる可能性があります。 確認方法としては ``` $ git branch * master ``` このように `master` しかみえていなければ、 ``` $ git checkout $(git tag | tail -n 1) ``` を実行してブランチを切り替えます。切替後、今日現在のバージョンであれば次のように表示されます。 ``` $ git branch * (detached from v1.3.3) master ``` その上で、改めてイメージの削除・再構築を試されてはいかがでしょうか。 ``` $ docker image rm gargron/mastodon $ docker-compose biuld $ docker-compose run --rm web rails db:migrate $ docker-compose run --rm web rails assets:precompile ```