Laravel 개발 환경을 Docker로 구축~비망록~
8642 단어 Windows라라벨docker-compose도커Git
참고한 기사
최강의 Laravel 개발 환경을 Docker로 구축
위의 기사를 참고로 환경 구축을 실시했습니다.
nginx, php-fpm, MySQL의 실행 환경(LEMP)을 구축해, Laravel 개발 환경을 구축했습니다. 라고 해도 템플릿을 다운로드 했지만,,,,, (웃음)
전제
· 도커
・Docker-compose
· Git
이들은 다운로드됨
그럼 렛츠고! !
사용법
템플릿 다운로드
먼저 htps : // 기주 b. 코 m / 우칸 - b / 도 c 케 r - 라라 ょ l 여기에서 템플릿을 자신의 리포지토리에 다운로드
「Use this template」의 부분(녹색)을 클릭! !
↓
코드 다운로드! (자신은 zip으로 다운로드)
Laravel 버전을 지정하여 새로 만들기
Makefile의 일부를 다시 작성
docker-compose exec app composer create-project --prefer-dist laravel/laravel .
↓
docker-compose exec app composer create-project --prefer-dist "laravel/laravel=6.*" .
다음 명령 실행
$ make create project
>>> make[1]: ディレクトリ `C:/Users/xxxx/port' に入ります
docker-compose build --no-cache --force-rm
Building app
Step 1/9 : FROM php:8.0-fpm-buster
---> 93375cae27f3
Step 2/9 : LABEL maintainer="ucan-lab <[email protected]>"
---> Running in f69b8198df72
~~省略~~
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
67 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan key:generate --ansi
Application key set successfully.
laravel까지 전부 다운로드해 줍니다!
기존 Laravel 프로젝트의 환경 구축
$ git clone [email protected]:[github名]/[プロジェクト名].git
$ git clone [email protected]:yossi0315-a/port.git →自分だったらこんな感じ
>>> Cloning into 'port'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
처음 하면 실패. 조사해 보면 GitHub에 ssh 접속을 할 수 없었던 것 같다.
라는 것으로 조사하면 여러가지 나왔다!
htps : // m / t 00 / ms / 147662368d02 6416d2
자신은 이 기사를 참고했습니다.
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\xxxx/.ssh/id_rsa):
C:\Users\xxxx/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\xxxxx/.ssh/id_rsa.
Your public key has been saved in C:\Users\xxxxx/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxx@DESKTOP-xxxxxxx
The key's randomart image is:
+---[RSA 2048]----+
| |
| . |
| . . o |
| + + = . |
| o S * = . |
| = * B * |
| o = +.% + |
| .+ +oB O ..|
| o++*=E +o |
+----[SHA256]-----+
우선 Enter 키를 연타(3회 정도)(웃음)
Overwrite (y/n)? 부분에서 회신을 반환! !
※덧붙여 커맨드는 전부 커맨드 프롬프트로 실행하고 있습니다.
키를 복사하지 않으면 안되지만 명령 프롬프트는 복사 명령을 모르기 때문에 git-bash를 사용하여 얻습니다.
xxxxx@DESKTOP-xxxxx MINGW64 / $ clip < ~/.ssh/id_rsa.pub
>>> ※何も応答はありません
그런 다음 git.hub 설정에서 키를 입력하여 등록! (htps : // 기주 b. 코 m/세친 gs/케 ys)
$ ssh -T [email protected]
>>> Hi xxxxxxx! You've successfully authenticated, but GitHub does not provide shell access.
Hi! 오면 성공! !
$ git clone [email protected]:xxxxxx/port.git
>>> Cloning into 'port'...
remote: Enumerating objects: 28, done.
remote: Counting objects: 100% (28/28), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 28 (delta 3), reused 10 (delta 0), pack-reused 0
Receiving objects: 100% (28/28), 7.45 KiB | 305.00 KiB/s, done.
Resolving deltas: 100% (3/3), done.
$ make init
>>> Illuminate\Database\QueryException : SQLSTATE[HY000] [1045] Access denied for user 'phper'@'172.22.0.5' (using password: YES) (SQL: SHOW FULL TABLES WHERE table_type = 'BASE TABLE')
at /work/backend/vendor/laravel/framework/src/Illuminate/Database/Connection.php:669
665| // If an exception occurs when attempting to run a query, we'll format the error
666| // message to include the bindings with SQL, which will make this exception a
667| // lot more helpful to the developer instead of just the database's errors.
668| catch (Exception $e) {
> 669| throw new QueryException(
670| $query, $this->prepareBindings($bindings), $e
671| );
672| }
673|
Exception trace:
1 PDOException::("SQLSTATE[HY000] [1045] Access denied for user 'phper'@'172.22.0.5' (using password: YES)")
/work/backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
2 PDO::__construct("mysql:host=db;port=3306;dbname=laravel_local", "phper", "secret", [])
/work/backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
Please use the argument -v to see more details
오류가 발생했습니다. ? ? ? ? 라는 느낌(웃음)
조사해 보면 .env의 쓰는 방법이나 docker-compose.yml의 쓰는 방법이 다르다는 것이 산견되었지만,
어느 것을 해도 능숙하지 않고,,,.
하지만 포기하지 않고 살펴보면 htps : // 기주 b. 코 m / 도 c 케 r ぃ b 등 ry / mysql / 이스에 s / 51
「컨테이너를 삭제해, 재기동하면 고치자」라고 기재되어 있었으므로 해 보면
$ docker-compose rm -v
>>> Going to remove port_db_1, port_web_1, port_app_1
Are you sure? [yN] y
Removing port_db_1 ... done
Removing port_web_1 ... done
Removing port_app_1 ... done
우선 삭제
$ docker-compose up -d
>>> WARNING: Found orphan containers (wordpress1) for this project. If you removed or renamed this service in your
compose file, you can run this command with the --remove-orphans flag to clean it up.
Creating port_web_1 ... done
Creating port_app_1 ... done
Creating port_db_1 ... done
컨테이너를 다시 시작
그리고 확실히 일어난 것을 확인하고
오류로 멈춘 부분에서 다시 흘리면,,,,
$ docker-compose exec app php artisan migrate:fresh --seed
>>> Dropped all tables successfully.
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table (0.23 seconds)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated: 2014_10_12_100000_create_password_resets_table (0.13 seconds)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated: 2019_08_19_000000_create_failed_jobs_table (0.16 seconds)
Database seeding completed successfully.
할 수 있었다―! ! ! !
이런 단순한데도 상당히 빠졌습니다.
이것으로 구축 완료! !
무사히 일어났습니다! !
Reference
이 문제에 관하여(Laravel 개발 환경을 Docker로 구축~비망록~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yossi_0315/items/884a5fdd5c761cce5542
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
템플릿 다운로드
먼저 htps : // 기주 b. 코 m / 우칸 - b / 도 c 케 r - 라라 ょ l 여기에서 템플릿을 자신의 리포지토리에 다운로드
「Use this template」의 부분(녹색)을 클릭! !
↓
코드 다운로드! (자신은 zip으로 다운로드)
Laravel 버전을 지정하여 새로 만들기
Makefile의 일부를 다시 작성
docker-compose exec app composer create-project --prefer-dist laravel/laravel .
↓
docker-compose exec app composer create-project --prefer-dist "laravel/laravel=6.*" .
다음 명령 실행
$ make create project
>>> make[1]: ディレクトリ `C:/Users/xxxx/port' に入ります
docker-compose build --no-cache --force-rm
Building app
Step 1/9 : FROM php:8.0-fpm-buster
---> 93375cae27f3
Step 2/9 : LABEL maintainer="ucan-lab <[email protected]>"
---> Running in f69b8198df72
~~省略~~
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
67 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan key:generate --ansi
Application key set successfully.
laravel까지 전부 다운로드해 줍니다!
기존 Laravel 프로젝트의 환경 구축
$ git clone [email protected]:[github名]/[プロジェクト名].git
$ git clone [email protected]:yossi0315-a/port.git →自分だったらこんな感じ
>>> Cloning into 'port'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
처음 하면 실패. 조사해 보면 GitHub에 ssh 접속을 할 수 없었던 것 같다.
라는 것으로 조사하면 여러가지 나왔다!
htps : // m / t 00 / ms / 147662368d02 6416d2
자신은 이 기사를 참고했습니다.
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\xxxx/.ssh/id_rsa):
C:\Users\xxxx/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\xxxxx/.ssh/id_rsa.
Your public key has been saved in C:\Users\xxxxx/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxx@DESKTOP-xxxxxxx
The key's randomart image is:
+---[RSA 2048]----+
| |
| . |
| . . o |
| + + = . |
| o S * = . |
| = * B * |
| o = +.% + |
| .+ +oB O ..|
| o++*=E +o |
+----[SHA256]-----+
우선 Enter 키를 연타(3회 정도)(웃음)
Overwrite (y/n)? 부분에서 회신을 반환! !
※덧붙여 커맨드는 전부 커맨드 프롬프트로 실행하고 있습니다.
키를 복사하지 않으면 안되지만 명령 프롬프트는 복사 명령을 모르기 때문에 git-bash를 사용하여 얻습니다.
xxxxx@DESKTOP-xxxxx MINGW64 / $ clip < ~/.ssh/id_rsa.pub
>>> ※何も応答はありません
그런 다음 git.hub 설정에서 키를 입력하여 등록! (htps : // 기주 b. 코 m/세친 gs/케 ys)
$ ssh -T [email protected]
>>> Hi xxxxxxx! You've successfully authenticated, but GitHub does not provide shell access.
Hi! 오면 성공! !
$ git clone [email protected]:xxxxxx/port.git
>>> Cloning into 'port'...
remote: Enumerating objects: 28, done.
remote: Counting objects: 100% (28/28), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 28 (delta 3), reused 10 (delta 0), pack-reused 0
Receiving objects: 100% (28/28), 7.45 KiB | 305.00 KiB/s, done.
Resolving deltas: 100% (3/3), done.
$ make init
>>> Illuminate\Database\QueryException : SQLSTATE[HY000] [1045] Access denied for user 'phper'@'172.22.0.5' (using password: YES) (SQL: SHOW FULL TABLES WHERE table_type = 'BASE TABLE')
at /work/backend/vendor/laravel/framework/src/Illuminate/Database/Connection.php:669
665| // If an exception occurs when attempting to run a query, we'll format the error
666| // message to include the bindings with SQL, which will make this exception a
667| // lot more helpful to the developer instead of just the database's errors.
668| catch (Exception $e) {
> 669| throw new QueryException(
670| $query, $this->prepareBindings($bindings), $e
671| );
672| }
673|
Exception trace:
1 PDOException::("SQLSTATE[HY000] [1045] Access denied for user 'phper'@'172.22.0.5' (using password: YES)")
/work/backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
2 PDO::__construct("mysql:host=db;port=3306;dbname=laravel_local", "phper", "secret", [])
/work/backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
Please use the argument -v to see more details
오류가 발생했습니다. ? ? ? ? 라는 느낌(웃음)
조사해 보면 .env의 쓰는 방법이나 docker-compose.yml의 쓰는 방법이 다르다는 것이 산견되었지만,
어느 것을 해도 능숙하지 않고,,,.
하지만 포기하지 않고 살펴보면 htps : // 기주 b. 코 m / 도 c 케 r ぃ b 등 ry / mysql / 이스에 s / 51
「컨테이너를 삭제해, 재기동하면 고치자」라고 기재되어 있었으므로 해 보면
$ docker-compose rm -v
>>> Going to remove port_db_1, port_web_1, port_app_1
Are you sure? [yN] y
Removing port_db_1 ... done
Removing port_web_1 ... done
Removing port_app_1 ... done
우선 삭제
$ docker-compose up -d
>>> WARNING: Found orphan containers (wordpress1) for this project. If you removed or renamed this service in your
compose file, you can run this command with the --remove-orphans flag to clean it up.
Creating port_web_1 ... done
Creating port_app_1 ... done
Creating port_db_1 ... done
컨테이너를 다시 시작
그리고 확실히 일어난 것을 확인하고
오류로 멈춘 부분에서 다시 흘리면,,,,
$ docker-compose exec app php artisan migrate:fresh --seed
>>> Dropped all tables successfully.
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table (0.23 seconds)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated: 2014_10_12_100000_create_password_resets_table (0.13 seconds)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated: 2019_08_19_000000_create_failed_jobs_table (0.16 seconds)
Database seeding completed successfully.
할 수 있었다―! ! ! !
이런 단순한데도 상당히 빠졌습니다.
이것으로 구축 완료! !
무사히 일어났습니다! !
Reference
이 문제에 관하여(Laravel 개발 환경을 Docker로 구축~비망록~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yossi_0315/items/884a5fdd5c761cce5542텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)