2
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 5 years have passed since last update.

UbuntuServer にAMP環境+phpMyAdminをDockerで構築した

Last updated at Posted at 2016-09-17

0.環境

項目 バージョン
OS UbuntuServer 16.04 LTS
Docker 1.12.1, build 23cf638
Apache 2.4 (Dockerイメージ)
MySQL 5.7 (Dockerイメージ)
PHP 7.0 (Dockerイメージ)
phpMyAdmin 4.6.4 (Dockerイメージ)

1.Dockerをインストール

sudo wget -qO- https://get.docker.com/

もしくは

sudo curl -fsSL https://get.docker.com/ | sh

インストールが完了したら、ユーザを「docker」グループに所属させます。

gpasswd -a [ユーザ名] docker

2.MySQL設定ファイル作成

どこでもいいけどとりあえず 「~/dockerfile/mysql_custom.conf」 で作成します。

[mysqld]
character-set-server=utf8

3.MySQLのDockerコンテナ起動

作成したMySQL設定ファイルを反映させるため、「~/dockerfile」にバインドします。

docker run --name mysql -v ~/dockerfile:/etc/mysql/conf.d /etc/localtime:/etc/localtime:ro -e MYSQL_ROOT_PASSWORD=[mysqlログインパスワード] -d mysql:5.7

4.PHP-apacheとMySQLをリンクさせたコンテナを起動する

 ※apacheで公開するWebアプリのモジュールをホストの「~/work」に置いているため、「~/work」にバインドしています。
 ※MySQLと連携できるようカスタムしたPHP-apacheのDockerイメージを公開リポジトリに置いてあるので、それを使用しています。

docker run -p 80:80 -v ~/work:/var/www/html --link mysql:mysql --name php -d saka24/php7-apache

5.PHPでMySQLに接続する

以下のように接続ホスト名を「mysql」に指定すれば接続できます。

PHP
$link = mysqli_connect("mysql", "root", "[mysqlログインパスワード]", "[DB名]");

6.phpMyAdminコンテナを起動

docker run --name myadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin

8080ポートにアクセスし、

ユーザ名:root
パスワード:項番3で設定したパスワード

でログインできればOK!

2
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
2
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?