DockerによるLaravel環境の構築

4077 ワード

docker-composeのワンタッチで開発環境を構築し、注:ミラーはすべてコピー大神であり、自分ではあまり研究していないが、現在は環境を構築することに成功すればよい.ディレクトリおよびファイルをローカルで作成します.次のようにします.
mkdir study/study mkdir study/study/public touch study/study/docker-compose.yml touch study/study/public/index.php echo “Hello World” >> study/study/public/index.php
2.次の内容をdocker-composeにコピーする.yml
version: '2'

services:

### Applications Code Container #############################

    applications:
      image: lzssing/true
      volumes:
        - ./:/var/www

### Workspace Utilities Container ###########################

    workspace:
      image: lzssing/workspace
      volumes_from:
        - applications
      extra_hosts:
        - "dockerhost:10.0.75.1"
      ports:
        - "22"
      tty: true
      networks:
        - frontend
        - backend

### PHP-FPM Container #######################################

    php-fpm:
      image: lzssing/php-fpm
      volumes_from:
        - applications
      expose:
        - "9000"
      depends_on:
        - workspace
      extra_hosts:
        - "dockerhost:10.0.75.1"
      environment:
        - PHP_IDE_CONFIG=laradock
      networks:
        - backend

### NGINX Server Container ##################################

    nginx:
      image: lzssing/nginx
      volumes_from:
        - applications
      volumes:
        - ../logs/nginx/:/var/log/nginx
      ports:
        - "80:80"
        - "443"
      depends_on:
        - php-fpm
      networks:
        - frontend
        - backend

### MySQL Container #########################################

    mysql:
      image: lzssing/mysql
      environment:
        - MYSQL_DATABASE=study
        - MYSQL_USER=root
        - MYSQL_PASSWORD=docker.18
        - MYSQL_ROOT_PASSWORD=docker.18
      volumes:
        - ../data/mysql:/var/lib/mysql
      ports:
        - "3306:3306"
      networks:
        - backend

### Networks Setup ############################################

networks:
  frontend:
    driver: "bridge"
  backend:
    driver: "bridge"

### Volumes Setup #############################################

volumes:
  mysql:
    driver: "local"

3.フォルダstudy/studyに入り、コマンドdocker-compose up-dを実行し、初めてネット上から5つのdockerミラーを引き出し、実行に成功した後、ブラウザでlocalhostを入力し、Hello Worldを出力することができる.
4.docker ps-aでコンテナを表示します.true、workspace、nginx、php-fpm、mysqlの5つのコンテナが存在します.最初に実行します.mysqlコンテナは正常に起動しませんでした.study/data、study/logsフォルダの権限を777に設定し、docker-compose up-dを再設定して、それぞれのコンテナに入ります.
docker-compose exec workspace bash docker-compose exec nginx bash docker-compose exec mysql bash
5.Laravelプロジェクトを実行するには、composer、php artisanなどのワークスペースコンテナにアクセスして操作します.