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

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

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

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

Docker

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

解決済

DockerでCentOS+Apacheのコンテナを作成してlocalhostに繋ぐとForbiddenになる

wasi300
wasi300

総合スコア0

docker-compose

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

Docker

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

1回答

0評価

0クリップ

6683閲覧

投稿2018/12/26 09:15

いつもお世話になります。

[CentOS+Apache]のコンテナをDockerFileから作成し、
起動した後、DocumentRootをVolumeのディレクトリに向けた後、
CentOSのWelcomeが表示されないように、
Welcomeの設定が書いてあるファイルのファイル名を変更しました。

無事DocumentRootを見に行くようにはなったのですが、
Volumeのディレクトリの所有者がrootになっているのでapacheに変更しようとしたところ、
chownコマンドを打っても変更されません。

[CentOS+Apache]でhtmlファイルを表示したいのですが、
どのような考え方、手順で作業すればよいのでしょうか。

ファイル構成

fileTree

root ├ docker-compose.yml ├ src │ └ index.html < このHTMLを表示したい。 ├ apache └ httpd.conf

ブラウザでGETリクエストしたドメイン

browser

HTTP/GET localhost

httpd.confの関係ありそうな箇所

httpdconf

ServerName localhost:80 DocumentRoot "/src"

BuildしたDockerFile

DockerFile

FROM centos:centos7 COPY ./httpd.conf /etc/httpd/conf/httpd.conf ENV container docker RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \ systemd-tmpfiles-setup.service ] || rm -f $i; done); \ rm -f /lib/systemd/system/multi-user.target.wants/*;\ rm -f /etc/systemd/system/*.wants/*;\ rm -f /lib/systemd/system/local-fs.target.wants/*; \ rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ rm -f /lib/systemd/system/basic.target.wants/*;\ rm -f /lib/systemd/system/anaconda.target.wants/*; VOLUME [ "/sys/fs/cgroup" ] #CMD ["/usr/sbin/init"] RUN yum -y update RUN yum -y install wget RUN yum -y install vim RUN yum -y install firewalld RUN yum -y install httpd httpd-devel mod_ssl RUN yum -y install mlocate RUN updatedb RUN yum -y install sudo RUN yum clean all WORKDIR /src EXPOSE 80 CMD ["/usr/sbin/httpd", "-DFOREGROUND"]

dockercomposeyml

version: '3' services: apache: build: ./apache container_name: "apache" ports: - "8080:80" privileged: true volumes: - ./src:/src

以上です。いつもすみませんがよろしくお願いします。

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

docker-compose

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

Docker

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