Laradock을 통한 laravel 개발 환경 구축

8169 단어 LaraDock라라벨

소개



지금 입니다만 Laravel을 Laradock를 사용해 환경 구축해 보겠습니다.
(이 게시물은 자신의 메모이기도합니다.)

전제



docker-compose 명령을 사용할 수 있습니다.
> docker-compose --version
docker-compose version 1.23.2, build 1110ad01

git 명령을 사용할 수 있습니다.
> git --version
git version 2.21.0.windows.1

그건 그렇고, PC는 Windows10 pro를 사용합니다.

1. 작업 디렉토리 만들기 & Laradock 복제


# 作業ディレクトリを作成
> mkdir dockerworkspace

# 作業ディレクトリに移動
> cd dockerworkspace

# GitからLaradockをダウンロード
> git clone https://github.com/LaraDock/laradock.git

2. ".env" 파일 만들기


# laradockディレクトリに移動
> cd laradock

# env-exampleをコピーし.envファイル作成
> cp env-example .env

3. 컨테이너 시작


# laradockディレクトリ上で入力
# コンテナの起動
> docker-compose up -d nginx
Recreating laradock_docker-in-docker_1 ... done
Recreating laradock_workspace_1        ... done
Recreating laradock_php-fpm_1          ... done
Recreating laradock_nginx_1            ... done

컨테이너의 시작을 확인해 봅시다.
# laradockディレクトリ上で入力
# コンテナの一覧を表示
> docker-compose ps
           Name                          Command                State                      Ports
------------------------------------------------------------------------------------------------------------------
laradock_docker-in-docker_1   dockerd-entrypoint.sh            Up         2375/tcp
laradock_mysql_1              docker-entrypoint.sh mysqld      Exit 255   0.0.0.0:3306->3306/tcp, 33060/tcp
laradock_nginx_1              /bin/bash /opt/startup.sh        Up         0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
laradock_php-fpm_1            docker-php-entrypoint php-fpm    Up         9000/tcp
laradock_phpmyadmin_1         /run.sh supervisord -n -j  ...   Exit 255   0.0.0.0:8080->80/tcp, 9000/tcp
laradock_redis_1              docker-entrypoint.sh redis ...   Exit 255   0.0.0.0:6379->6379/tcp
laradock_workspace_1          /sbin/my_init                    Up         0.0.0.0:2222->22/tcp

State가 up이 되어 있으면 기동하고 있는 것이 됩니다.
http://localhost 로 이동합니다.


nginx의 시작을 확인할 수있었습니다. Not Found는 나중에 해결할 것입니다.

4.Laravel 프로젝트 만들기



laradock_workspace_1로 이동하여 Laravel 애플리케이션을 만듭니다.
# laradockディレクトリ上で入力
# workspaceコンテナにアクセス
# root@xxxxxxxx:/var/www$ というディレクトリに入る
> docker-compose exec --user=laradock workspace bash

# Laravelアプリケーションの作成
# ここではsample_appという名前で作成
root@xxxxxxxx:/var/www$ composer create-project laravel/laravel sampleApp

5.nginx 설정 파일 편집


root@xxxxxxxx:/var/www$ exit

# laradockディレクトリ上で入力
# コンテナの停止
> docker-compose stop

# laradockディレクトリ上で入力
# dockerworkspace/laradock/nginx/sitesの中のdefaul.confをdefault.conf.backup等の名前にしコピー
> cd nginx/sites
> cp default.conf default.conf.backup

# 同じディレクトリにあるlaravel.conf.exampleの中のテキストをコピーし、default.confにペースト
> cp laravel.conf.example default.conf

dockerworkspace/laradock/nginx/sites/default.conf를 편집합니다.

default.conf
# 一部抜粋
server_name laravel.test;
  # root /var/www/laravel/public;     # 変更前
    root /var/www/sampleApp/public;    # 変更後
    index index.php index.html index.htm;

또한 laradock 디렉토리에있는 .env (처음 복사하여 만든 파일이군요)도 편집합니다.

 .env
# 一部抜粋
### Paths #################################################

# Point to the path of your applications code on your host
# APP_CODE_PATH_HOST=../            # 変更前
APP_CODE_PATH_HOST=../sampleApp    # 変更後

6.Laravel의 Welcome 화면을 본다


> docker-compose up -d nginx

http://localhost 로 이동합니다.


추가



MySQL에 연결



설정 파일 편집



Laradock의 초기 설정에서는 MySQL의 최신이 설정되어 있어 인증으로 에러가 나온다고 합니다. laradock/.env를 편집합니다.

laradock/.env
### MYSQL #################################################

# MYSQL_VERSION=latest   # 変更前
MYSQL_VERSION=5.7        # 変更後

Laravel도 설정합니다. sample_app/.env를 편집합니다.

sampleApp/.env
DB_CONNECTION=mysql
# DB_HOST=127.0.0.1        # 変更前
DB_HOST=mysql              # 変更後
DB_PORT=3306
# DB_DATABASE=homestead    # 変更前
# DB_USERNAME=homestead    # 変更前
DB_DATABASE=default        # 変更後
DB_USERNAME=default        # 変更後
DB_PASSWORD=secret

이제 MySQL에 연결할 수 있습니다.

migrate 해보기


# laradockディレクトリ上で入力
> docker-compose up -d nginx mysql
# 省略
> docker-compose exec --user=laradock workspace bash
root@xxxxxxxx:/var/www$ php artisan migrate
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table

DB를 살펴보기


# laradockディレクトリ上で入力
> docker-compose exec mysql bash
root@xxxxxxxxxx:/# mysql -udefault -psecret
# 省略
mysql> use default;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql > show tables;
+-------------------+
| Tables_in_default |
+-------------------+
| migrations        |
| password_resets   |
| users             |
+-------------------+
4 rows in set (0.00 sec)

마지막으로



Docker는 Laradock에서 밖에 만진 적이 없기 때문에 잘못된 인식, 개선점 등이 있으면 지적 부탁드립니다.
Docker 공부하자,,,.

좋은 웹페이지 즐겨찾기