質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Git

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

Docker

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

受付中

git+docker-composeでの自動デプロイの際のパーミッションの調整

BECK_
BECK_

総合スコア0

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Git

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

Docker

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

1回答

0評価

0クリップ

2454閲覧

投稿2017/11/02 03:24

編集2022/01/12 10:55

###実現したい事
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"]

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Git

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

Docker

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