質問編集履歴

1 初心者アイコンの追加

BECK_

BECK_ score 88

2017/11/02 12:42  投稿

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

    1960 questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

  • Docker

    1428 questions

    Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る