目次

  1. Dockerのセットアップ
  2. 「Dockerfile」「docker-compose.yml」を使用してコンテナを起動
    1. Dockerfileとは
    2. docker-compose.ymlとは

Dockerのセットアップ

必要なパッケージの追加

# yum -y install lvm2 device-mapper device-mapper-persistent-data device-mapper-event device-mapper-libs device-mapper-event-libs

現在他のDockerがあれば削除

# yum -y remove docker-common docker container-selinux docker-selinux docker-engine

wegtインストール

# yum install wget

Dockerダウンロード

# wget https://download.docker.com/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

Dockerインストール

# yum install -y docker-ce

Dockerのバージョン確認

# docker --version Docker
version 18.09.1, build 4c52b90

Dockerと競合するのでfirewwalldをオフ

# systemctl stop firewalld
# systemctl disable firewalld

iptables 設定初期化

※CeonOS7はデフォルトではiptablesがないのでインストールする必要がある

# yum install iptables-services
# iptables -F
# iptables -t nat -F
# iptables -X
# iptables -Z
# /etc/init.d/iptables save

Dockerを起動

# systemctl start docker

Dockerでコンテナ起動テスト

# docker run ubuntu:14.04 /bin/echo 'Hello world'
Hello world

以下のコマンドでCentOS7が入った「centos-test」というコンテナが起動する

# docker run --name centos-test -it centos:7 /bin/bash

使わないコンテナは削除しておく

# docker rm コンテナ名
# docker rm centos-test

「Dockerfile」「docker-compose.yml」を使用してコンテナを起動

Dockerfileとは

ベースとするDockerイメージに対して実行する内容を記述

docker-compose.ymlとは

複数のコンテナから成るサービスを構築・実行する手順を自動的にし、管理を容易にする機能

まず作業スペースを作る

work_space

├Dockerfile

└docker-compose.yml

ファイルの内容は以下の通り

FROM centos:7
RUN yum update -y
RUN yum install -y sudo
RUN yum install -y epel-release
RUN yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
RUN yum clean all
RUN yum -y install wget
RUN yum -y install httpd
RUN yum -y install --enablerepo=remi,remi-php71 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt php-pgsql
CMD ["/usr/sbin/httpd", "-DFOREGROUND"]
EXPOSE 80


version: '3'
services:
  php-apache:
    # image: php
    build: .
    restart: always
    tty: true
    ports:
      - 10080:80
    volumes:
      - ./html:/var/www/html

上記を書いた後、「docker-compose」コマンドを実行

※階層を今回作成した場所に移動する

# cd ../work_space
# docker-compose up

http://IP:80/

Testing 123..

ページが表示されると成功

以下のような「html」フォルダを作成

その中に「index.php」を作成

work_space

├html

│ └index.php

├Dockerfile

└docker-compose.yml

<?php
phpinfo();

PHP Version x.x.xx

と表示されていたら成功