見出し画像

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分もかかっていないではないか。いやー驚きました。ちゃんと使えるかこれから試します。 (了)

いいなと思ったら応援しよう!