
Docker の使い方を Copilot に質問して、設定したら一発でphpMyAdminが起動した。^(◯)^
今回も驚いた
こんなことは今の時代では当たり前、当然の事なのかもしれない。今回で2回目だったので備忘録として残す。
筆者:ubuntu serverをインストール済の仮想コンピューター内で、dockerを立ち上げ、その中にnginx + mysql + phpmyadmin の環境を作り、家内ネットワークから使えるようにしたい。設定方法を教えて下さい。docker はインストール済みです。
Copilot :
了解しました!以下の手順で、Dockerを使ってUbuntuサーバーにNginx、MySQL、およびphpMyAdminをインストールし、家庭内ネットワークからアクセスできるようにします。
1. Docker Composeファイルの作成
まず、docker-compose.ymlファイルを作成します。このファイルに各コンテナの設定を記述します。
(phpのイメージとしては、php:7.4-apache が指定されている。これっておかしくね?直す方法を探してみよう)
version: '3'
services:
nginx:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- php
php:
image: php:7.4-apache
volumes:
- ./php/www:/var/www/html
depends_on:
- mysql
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: yourpassword
MYSQL_DATABASE: yourdatabase
MYSQL_USER: youruser
MYSQL_PASSWORD: yourpassword
ports:
- "3306:3306"
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- "8080:80"
environment:
PMA_HOST: mysql
depends_on:
- mysql
2. Nginx設定ファイルの作成
nginx/default.confファイルを作成し、以下のように設定します。
server {
listen 80;
server_name yourdomain.com;
root /var/www/html;
index index.php index.html;
location / {
try_files \$uri \$uri/ /index.php?\$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass php:9000;
}
}
3. PHP設定ファイルの作成
php/php.iniファイルを作成し、以下のように設定します。
[PHP]
post_max_size = 100M
upload_max_filesize = 100M
4. Docker コンテナの起動
docker-compose up -d
これで、Nginx、MySQL、およびphpMyAdminのコンテナが起動します。家庭内ネットワークからyourdomain.comにアクセスすると、NginxがPHPファイルを処理し、MySQLデータベースを管理するためのphpMyAdminが表示されます。
最後のコマンドは、sudo を付けないと動かなかったが、ブラウザーから、http://192.168.x.x:8080 にアクセスすると。phpMyAdmin のページが表示された。なんてこった。こんな、モノの 30分もかかっていないではないか。いやー驚きました。ちゃんと使えるかこれから試します。 (了)