소규모 Docker 개발 환경을 시작하고 실행합니다.
전체 문서는 https://vessel.shippingdocker.com에서 찾을 수 있습니다.
Vessel은 프로젝트별로 로컬 Docker 기반 개발 환경을 설정하는 작은 파일 세트입니다. Docker 자체를 제외하고는 전체적으로 설치할 것이 없습니다!
이것이 그것을 사용하는 전부입니다:
작곡가는 배송 도커/선박이 필요합니다. php artisan Vendor:publish --provider="VesselVesselServiceProvider"# 프로젝트를 초기화하려면 이것을 한 번 실행하세요.# 초기화될 때까지 "bash"로 실행해야 합니다. 용기 초기화 ./선박 시작
브라우저에서 http://localhost
로 이동하여 Laravel 사이트를 확인하세요!
Lumen을 사용하는 경우 php artisan vendor:publish
사용하는 대신 Vessel 파일을 수동으로 복사해야 합니다. 다음 명령을 사용하여 이 작업을 수행할 수 있습니다.
cp -R vendor/shipping-docker/vessel/docker-files/{vessel,docker-compose.yml,docker} .
그런 다음 정상적으로 설치하고 계속할 수 있습니다.
Vessel은 컴퓨터의 포트 80 및 3306에 바인딩하려고 시도하므로 브라우저에서 http://localhost
로 이동하면 됩니다.
그러나 Vessel 인스턴스를 두 개 이상 실행하면 시작할 때 오류가 발생합니다. 각 포트는 한 번만 사용할 수 있습니다. 이 문제를 해결하려면 다음 두 가지 방법 중 하나로 APP_PORT
및 MYSQL_PORT
환경 변수를 설정하여 프로젝트별로 다른 포트를 사용하세요.
.env
파일 내에서:
APP_PORT=8080 MYSQL_PORT=33060
또는 Vessel을 시작할 때:
APP_PORT=8080 MYSQL_PORT=33060 ./선박 시작
그런 다음 http://localhost:8080
에서 프로젝트를 보고 포트 33060
에서 로컬로 데이터베이스에 액세스할 수 있습니다.
MySQL을 포트 3306
에 바인딩했기 때문에 SequelPro는 데이터베이스에 직접 액세스할 수 있습니다.
사용자 root
의 비밀번호는 .env
파일 내에서 환경 변수 DB_PASSWORD
로 설정됩니다.
포트 설정은
MYSQL_PORT
환경 변수(기본값은3306
와 일치해야 합니다.
사용할 수 있는 내장 도우미 목록은 다음과 같습니다. vessel
스크립트에 정의되지 않은 모든 명령은 기본적으로 docker-compose
명령으로 전달됩니다. 명령을 사용하지 않으면 docker-compose ps
실행하여 이 환경에서 실행 중인 컨테이너를 나열합니다.
# 선박의 현재 버전을 표시합니다$ Vessel --version # 또는 [ -v | version ]#은 선박 도움말을 표시합니다$ Vessel --help # 또는 [ -H | 돕다 ]
# 환경을 시작합니다./vessel start## 이는 ./vessel up과 동일합니다. -d# 환경을 중지합니다./vessel stop## 이는 ./vessel down과 동일합니다.
# 작곡가를 사용하세요./vessel 작곡가 <cmd>./vessel comp <cmd> # "comp"는 "composer"에 대한 단축키입니다.# artisan./vessel artisan <cmd>./vessel art <cmd>를 사용하세요 # "art"는 "artisan"에 대한 단축키 # Tinker REPL을 실행합니다./vessel Tinker # "tinker"는 "artisan Tinker"에 대한 단축키입니다.# phpunit 테스트를 실행합니다./vessel test## 예: 당신 phpunit에 원하는 모든 것을 전달할 수도 있습니다./vessel test --filter=some.phpunit.filter ./vessel test 테스트/Unit/SpecificTest.php# npm./vessel npm <cmd>## 실행 Vessel Yarn install# gulp./vessel gulp <cmd> 실행
언급한 대로 내장 명령으로 인식되지 않는 모든 항목은 docker-compose
명령의 인수로 사용됩니다. 다음은 몇 가지 편리한 요령입니다.
# 둘 다 현재 실행 중인 컨테이너와 해당 상태를 나열합니다./vessel ./vessel ps# 컨테이너 서비스의 로그 출력을 확인합니다./vessel 로그 # 모든 컨테이너 로그./vessel 로그 app # nginx | php 로그./vessel 로그 mysql # mysql 로그./vessel 로그 redis # redis 로그## 생성된 출력을 보려면 로그를 추적합니다./vessel 로그 -f # 모든 로그./vessel 로그 -f app # nginx | php 로그## Tail Laravel Logs./vessel exec app tail -f /var/www/html/storage/logs/laravel.log# 컨테이너 내부에서 bash 셸을 시작합니다# 이는 서버에 SSH로 연결하는 것과 같습니다# 이러한 방식으로 수행된 컨테이너 변경 사항은 용기 환경을 중지하고 시작해도 유지되지 않습니다**#.# 소프트웨어를 설치하거나 서버 구성을 변경하려면 # Dockerfile을 편집하고 ./vessel build를 실행해야 합니다. /선박 간부 app bash# 예: mysqldump 데이터베이스 "homestead"를 로컬 파일 시스템에# 이 방법으로 명령줄에 비밀번호를 추가해야 합니다# 이렇게 하면 컨테이너 내부가 아닌 # 로컬 파일 시스템에 "homestead.sql" 파일이 생성됩니다# @link https://serversforhackers.com/c/mysql-in-dev-docker./vessel exec mysql mysqldump -u root -psecret homestead > homestead.sql
이 프로젝트의 목적은 단순함입니다. 여기에는 다음이 포함됩니다.
PHP 7.4
MySQL 5.7
Redis(최신)
Yarn & Gulp가 포함된 NodeJS(최신)
Docker에 익숙하지 않은 경우 Docker in Development 과정을 시도해 보세요. 이 과정에서는 Docker가 어떻게 구성되는지에 대한 중요한 주제를 설명합니다.
이 워크플로가 어떻게 개발되었는지 확인하려면 Shipping Docker를 확인하고 이 Docker 워크플로 구축을 설명하는 무료 과정 모듈에 등록하세요.
Vessel에는 Docker가 필요하며 현재 Windows, Mac 및 Linux에서만 작동합니다.
Windows에서는 Hyper-V를 실행해야 합니다. Git Bash(MINGW64) 및 WSL 사용이 지원됩니다. 기본 Windows는 아직 개발 중입니다.
스코틀랜드 사람 | 리눅스 | 윈도우 |
---|---|---|
맥에 도커 설치 | 데비안에 도커 설치 | 윈도우에 도커 설치 |
우분투에 도커 설치 | ||
CentOS에 도커 설치 |