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

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

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

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

Docker

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

Q&A

解決済

1回答

8614閲覧

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

wasi300

総合スコア66

docker-compose

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

Docker

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

0グッド

0クリップ

投稿2018/12/26 09:15

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

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

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

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

ファイル構成

fileTree

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

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

browser

1HTTP/GET 2localhost

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

httpdconf

1 2 3ServerName localhost:80 4DocumentRoot "/src" 5

BuildしたDockerFile

DockerFile

1 2FROM centos:centos7 3COPY ./httpd.conf /etc/httpd/conf/httpd.conf 4 5ENV container docker 6RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \ 7systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 8rm -f /lib/systemd/system/multi-user.target.wants/*;\ 9rm -f /etc/systemd/system/*.wants/*;\ 10rm -f /lib/systemd/system/local-fs.target.wants/*; \ 11rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 12rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 13rm -f /lib/systemd/system/basic.target.wants/*;\ 14rm -f /lib/systemd/system/anaconda.target.wants/*; 15VOLUME [ "/sys/fs/cgroup" ] 16#CMD ["/usr/sbin/init"] 17 18RUN yum -y update 19RUN yum -y install wget 20RUN yum -y install vim 21RUN yum -y install firewalld 22RUN yum -y install httpd httpd-devel mod_ssl 23RUN yum -y install mlocate 24RUN updatedb 25RUN yum -y install sudo 26RUN yum clean all 27 28WORKDIR /src 29 30EXPOSE 80 31CMD ["/usr/sbin/httpd", "-DFOREGROUND"] 32

dockercomposeyml

1 2version: '3' 3 4services: 5 apache: 6 build: ./apache 7 container_name: "apache" 8 ports: 9 - "8080:80" 10 privileged: true 11 volumes: 12 - ./src:/src 13 14

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

今回の Docker 環境構築を成功させた次のステップがどこを目指しているのかまではわかりませんが: とりあえず動かしてみるのであれば centos/httpd (or 公式の httpd) イメージを利用するのが早いかもしれません

Web サーバの設定の変更に際して、いちど、実行するイメージから直接ファイルを取り出してしまうのが手っ取り早く確実かもわかりません

ただ、設定の変更に関して、今回の例だと Dockerfile , docker-compose.yml 側の設定で充分で、敢えて Docker コンテナ内のデフォルト設定を変更する必要は無かったりします

ディレクトリ構成とファイル内容

ディレクトリ構成:

. ├── apache │   ├── Dockerfile │   └── httpd.conf ├── docker-compose.yml └── src └── index.html

apache/Dockerfile:

FROM centos/httpd # 設定変更したい場合 ADD httpd.conf /etc/httpd/conf/httpd.conf

httpd.conf:

(Web サーバの動作を設定できるようにファイルを取り出す。設定変更は特にしない)

sh

1# 実行対象の Docker イメージから、格納されているものを取り出し 2docker run centos/httpd cat /etc/httpd/conf/httpd.conf > apache/httpd.conf

docker-compose.yml:

yaml

1version: '3' 2 3services: 4 apache: 5 build: ./apache 6 container_name: "apache" 7 ports: 8 - "8088:80" 9 privileged: true 10 volumes: 11 - ./src:/var/www/html

イメージの作成と立ち上げ

sh

1# (docker-compose.yml があるディレクトリに cd して移動) 2 3docker-compose build && docker-compose up

何か参考になれば幸いです

Links

投稿2018/12/27 01:02

gouf

総合スコア2321

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wasi300

2018/12/27 06:27

goufさん お答え頂きありがとうございます。 >> 今回の Docker 環境構築を成功させた次のステップがどこを目指しているのかまではわかりませんが: とりあえず動かしてみるのであれば centos/httpd (or 公式の httpd) イメージを利用するのが早いかもしれません すみません。現象の出ている部分のみ質問させて頂いておりました。 ゴールは、dockerに[centOS+Apache][centOS+PHP]のコンテナを用意し、 AWSのEC2でdockerをインストールし、同じ環境を作成しようと考えております。 目指してましたが、[centOS+Apache]の部分で進まなくなったので質問させて頂きました。 公式イメージで試してみようと思います。どうもありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問