###実現したい事
git+dockerでLAMP環境構築をほぼ自動化したい。
httpd ユーザ権限にて書き込みするディレクトリのchownの手動ステップが挟まってしまい自動化出来てない。
※デザイナーにもリポジトリ配布したいので難しい事は避けたい
※自動化と書いてますが多少語弊があるので悪しからずご理解ください
###困っている点
前述の通りアップロードフォームの動作でwebコンテナのapache userでの書き込みの際パーミッションエラーが出てしまい自動化できていません。
docker-compose up -dの前に手動でホスト側の該当ディレクトリのパーミッションを手動で変更をすると問題なく動作します。
text
1git clone https://user@hogehoge/repos/ 2chown -R 1000:1000 ./contents/uplode.temp 3docker-compse up -d
chownのステップを先行ステップのgitか後続ステップのdocker-composeで吸収できないか?
###質問
gitではディレクトリーのパーミッションは管理しないと理解しているのですが、下記程度の手順で自動化をしたい場合ホスト側のフォルダーのパーミッション調整はどこ側でどの様に実装したらよいですか?
###試行した事
gitのサーバーサイドupdate hook? <= git pullしたら戻ってしまう..
docker-compose buildの際? <= docker-compose.yml内でホスト側のファイルに対してコマンド発行出来る?
text
1version: '2' 2services: 3 web: 4 build: 5 context: ./ 6 dockerfile: Dockerfile.web 7 image: project_hoge/web 8 container_name: web 9 ports: 10 - "80:80" 11 volumes: 12 - ./contents/html:/var/www/html 13 - ./contents/webapp:/var/www/webapp 14 - ./contents/uplode.temp:/var/www/uplode.temp 15 links: 16 - dbs:dbs 17 depends_on: 18 - dbs 19 environment: 20 - TZ=Asia/Tokyo 21
text
1FROM centos 2MAINTAINER myname 3 4RUN yum install -y epel-release 5RUN rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm 6RUN yum install -y --enablerepo=remi httpd httpd-devel less && systemctl enable httpd.service 7RUN yum install -y --enablerepo=remi,remi-php70 php71 php71-php php71-php-mbstring php71-php-mcrypt php71-php-pdo php71-php-common php71-php-pecl-memcache php71-php-pecl-memcached php71-php-mysqlnd php71-php-cli php71-php-pear php71-php-gd php71-php-pecl-imagick 8RUN php71-pear install Log 9RUN rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 10RUN yum install -y mysql-community-client 11RUN usermod -u 1000 apache && groupmod -g 1000 apache 12 13CMD ["/sbin/init"]
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。