1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

フロントエンドWebのDockerコンテナ構築(Amazon Linux × Apache × PHP 5.6)

Last updated at Posted at 2019-06-29

概要

フロントWebページのDockerコンテナをAmazon Linuxのベースイメージ に、ApacheとPHP 5.6をインストールし作成

背景

・AWSのEC2に実装するフロントページのローカル開発環境として作成
・PHPのパッケージ管理の為Composerをインストール
・フロントページから画像をアップロード、保存する為imagicをインストール
・PHPは、旧基盤で使っていたモジュールをそのまま流用する為一旦5.6

ディレクトリ構成

front_web_container
├ config
│ ├ ca
│ │ ├ server.crt
│ │ └ server.csr
│ ├ httpd.conf
│ ├ php.ini
│ └ virtual-host.conf
├ src
└ Dockerfile

Dockerfile

# Create Apache & PHP 5.6 Container.
FROM amazonlinux:2018.03.0.20190212

# PHP 5.6
RUN yum -y install \
    php56-devel \
    php56-gd.x86_64 \
    php56-mbstring.x86_64 \
    php56-mysqlnd \
    php56-opcache \
    php56-pdo \
    php56-pecl-apcu \
    php56-pecl-imagick.x86_64 \
    uuid-php56 \
    libxml2 \
    libjpeg \
    libpng \
    vim 

# Apache(httpd.2.4)
RUN yum -y install httpd24 mod24_ssl

# COPY PHP Modules.
COPY ./src /var/www/html/

# Set httpd
COPY ./config/httpd.conf /etc/httpd/conf/httpd.conf
COPY ./config/ca /etc/httpd/conf/ca
COPY ./config/virtual-host.conf /etc/httpd/conf/virtual-host.conf

# Set php.ini
COPY ./config/php.ini /etc/php-5.6.ini

# Install Composer
ENV COMPOSER_ALLOW_SUPERUSER 1
ENV COMPOSER_NO_INTERACTION 1

WORKDIR /usr/local/bin
RUN curl -sS https://getcomposer.org/installer | php

EXPOSE 443
EXPOSE 80

CMD /usr/sbin/httpd -D FOREGROUND

設定ファイル

php.ini:つどつど設定するのがめんどーなので、編集したファイルを用意しておく。
httpd.conf:つどつど設定するのがめんどーなので、編集したファイルを用意しておく。
virtual-host.conf:VirtualHostの設定
証明書:オレオレ証明書作成

コンテナ実行

# ビルド、イメージ作成
cd /path/to/front_web_container
docker build -t front_web_container .
# イメージ確認
$ docker images
REPOSITORY                                TAG                  IMAGE ID            CREATED             SIZE
front_web_container                       latest               36624ad88042        14 seconds ago      561MB
# コンテナ起動
docker run -d -p 8080:80 front_web_container
# コンテナ起動確認
$ docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                           NAMES
594b3008f14d        front_web_container   "/bin/sh -c '/usr/sb…"   6 seconds ago       Up 5 seconds        443/tcp, 0.0.0.0:8080->80/tcp   unruffled_cray

※ブラウザで↓を打ち込み表示を確認
http://127.0.0.1:8080/

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?