プログラミングいちねんせい

プログラミング歴ゼロの初心者がもがくサイトです

勉強再開

【追記】このDocker-composeは現在使っていません。

久しぶりにプログラミングを再開したんですが何もかもを忘れてしまいました。とりあえずDockerで環境構築するところから始めようとしたわけですがdocker-composeの書き方すら失念。しかし、数年前と違うところはChatGPTの存在。というわけでChatGPT 3.5先生に相談しながらdocker-composeを作りました。

version: "3.8"
services:
  nginx:
    image: nginx:latest
    container_name: nginx
    ports:
      - "80:80"
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
      - ./laravel-app:/var/www/html
    depends_on:
      - php
    networks:
      - mynetwork

  php:
    build:
      context: ./php
    volumes:
      - ./laravel-app:/var/www/html
    container_name: php
    depends_on:
      - mysql
    networks:
      - mynetwork

  mysql:
    image: mysql:8.0
    container_name: mysql
    environment:
      MYSQL_ROOT_PASSWORD: ******
      MYSQL_DATABASE: db
      MYSQL_USER: user
      MYSQL_PASSWORD: ******
    volumes:
      - ./mysql/data:/var/lib/mysql
      - ./mysql/my.cnf:/etc/mysql/conf.d/my.cnf
    networks:
      - mynetwork

  adminer:
    image: adminer:latest
    container_name: adminer
    ports:
      - "8080:8080"
    env_file:
      - ./adminer/adminer.env
    networks:
      - mynetwork

networks:
  mynetwork:
    driver: bridge

Nginx, PHP, MySQL, adminerを採用しました。phpMyAdminじゃないのは軽いという話を聞いたことと新しいものに触っておきたいという考えからです。adminerはデザインを変更できるので落ち着いたpepa-linha-darkにしました。Dockerfileにはcomporserの利用も考えてpdo_mysqlgit zlib1g-devなどを書いおきました。

備忘録のために後日Githubに残しておこうと思います。いくつもエラーが出て転びまくりましたが、とりあえずadminerのSQL管理画面の確認ができたので勉強の環境が作れました。疲れたー