目次

Docker on Linux 上での開発環境の構築

ホストに接続するか?コンテナに接続するか?

vscode からのリモートホストへは SSH 経由となるが、デバッグ対象のアプリケーションコンテナに接続するか、リモートホスト自体に接続するかで、構成などが大きく異なってくる。

Xdebug はまりポイント

環境構築を楽にする工夫

異なる docker-compose.yml のサービスを共有する

docker-compose.yml (mariadb)

version: "3.3"
services:
  mariadb:
    build: ./
    volumes:
      - ../data/mariadb:/var/lib/mysql
    networks:
      - backend
    environment:
      MYSQL_ROOT_PASSWORD: "password"

networks:
  backend:

docker-compose.yml (php74)

version: '3'
services:
  php74:

networks:
  default:
    external:
      name: mariadb105_backend

ディレクトリ構成

/var/repos/
  $ME/
    containers/   # コンテナの作成・テスト用リポジトリ
      debian9-php74/
      debian10-php74/
      mariadb10.5/
    devenv/       # 開発環境用の起動設定はここで行う
      docker-compose.yml
      project_?.conf  # nginx のサイト設定ファイル等プロジェクト毎に固有の設定
      project_a.conf
      project_b.conf
      project_c.conf
      project_d.conf
  $USER1/
    $PROJECT_A/
    $PROJECT_B/
  $USER2/
    $PROJECT_C/
    $PROJECT_D/
  data/         # DB等、永続化が必要な
    mariadb/