0
0

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 1 year has passed since last update.

Dockerを使ってPHPとMySQLをとりあえず動かしてみる方法

Posted at

バージョン情報

  • Docker:v20.10.17
  • PHP:v8.1
  • MySQL:v5.5

ファイル構成

DockerでPHPとMySQLの実行環境を作成するファイル構成は下記です。

  • docker-compose.yml
    このファイルでnginx、PHPコンテナをまとめてインストールできます
  • html/index.php
    表示するないようをhtmlで記述
  • php.init
    実行環境の設定
docker-php-first-step
├ docker-compose.yml
├ html
│ └ index.php
└ php.ini

ソースコードはGitHubに公開しています。

ソースコード

docker-compose.yml

Docker公式イメージとしてDockerHubに公開されている

  • php:8.1-apache
  • mysql:5.5
  • phpmyadmin/phpmyadmin
    を利用します。

composerのパッケージのように記述されているものを引っ張ってくるイメージです。

version: '3'

services:
  php:
    image: php:8.1-apache
    volumes:
      - ./php.ini:/usr/local/etc/php/php.ini
      - ./html:/var/www/html
    ports:
      - 8080:80
  mysql:
    image: mysql:5.5
    volumes:
      - ./mysql:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=test
      - MYSQL_USER=test
      - MYSQL_PASSWORD=test
      - TZ=Asia/Tokyo
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    environment:
      - PMA_ARBITRARY=1
      - PMA_HOST=mysql
      - PMA_USER=test
      - PMA_PASSWORD=test
    ports:
      - 4040:80
    volumes:
      - ./phpmyadmin/sessions:/sessions

index.php

表示したい内容をここに記述

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>test</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
Hello World
</body>
</html>

php.ini

必要ないかもしれませんが一応タイムゾーンや言語などを設定しておきます。

[Date]
date.timezone = "Asia/Tokyo"
[mbstring]
mbstring.internal_encoding = "UTF-8"
mbstring.language = "Japanese"

実行方法

下記の1コマンドでDockerコンテナのビルドが走ります。

docker-compose up

※「docker-compose up -d」で裏で動かしても大丈夫です

いろいろなものがダウンロードされてたあとPHPファイルやphpmyadminの画面が開けるようになります。

■ダウンロード画面

スクリーンショット-2022-10-07-0.14.22-scaled.jpg

■ビルドされている画面

スクリーンショット-2022-10-07-0.15.23-scaled.jpg

■記述したPHPファイルを開く(そっけない画面ですが一応載せておきます)

http://localhost:8080/ (PHPファイルに記載した内容)

スクリーンショット-2022-10-07-0.21.10-scaled.jpg

■phpmyadminを開く

http://localhost:4040/ (phpmyadmin)

スクリーンショット-2022-10-07-0.20.53-scaled.jpg

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?