目次
- Dockerのセットアップ
- 「Dockerfile」「docker-compose.yml」を使用してコンテナを起動
- Dockerfileとは
- 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
と表示されていたら成功