カテゴリー
コンピューター

`docker-compose up` 時の CMD でマウントしたディレクトリに `chown` しようとして失敗した

やりたいこと

今まで、 docker-compose up -d 後に、コンテナと共有したディレクトリをコンテナ内で chown を実行して所有グループ・所有者を変更していました。 これが面倒で、時々忘れてしまいますので、なんとか楽にできないだろうかと思いました。

わかったことまとめ

  • docker compose up して共有ディレクトリをマウントする時に権限が決まる (ようだ) 。したがって、 Dockerfile では対処できない。コンテナ起動時に対処することになる。

試行錯誤

docker-compose.yml ので試したこと。

    #command: bash -c "chown -R www-data:www-data /var/www/html/ && apache2-foreground"
    #command: bash -c "apache2-foreground"
    #command: apache2-foreground

としてみた。

  • うまくいった。 -> command: apache2-foreground
  • ダメ。 -> それ以外。

よくわからないのが、 command: bash -c "apache2-foreground" がダメということです。 403 Fobbiden となっていました。

参考ページ

おわりに

いったん諦めようと思います。

Dockerfile や Docker Compose の ENTRYPOINT や CMD をよく理解できれば、解決につながるのではないかと予想しています。

以上です。

コメントを残す