小規模な Docker 開発環境を稼働させています。
完全なドキュメントは https://vessel.shippingdocker.com でご覧いただけます。
Vessel は、プロジェクトごとにローカルの Docker ベースの開発環境をセットアップする小さなファイルのセットにすぎません。 Docker 自体を除いて、グローバルにインストールするものは何もありません。
使い方はこれだけです:
作曲家には輸送港/船舶が必要です php 職人のベンダー:publish --provider="VesselVesselServiceProvider"# これを 1 回実行してプロジェクトを初期化します# 初期化されるまで「bash」で実行する必要がありますbash Vessel init ./容器の開始
ブラウザで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 の複数のインスタンスを実行すると、起動時にエラーが発生します。各ポートは 1 回のみ使用できます。これを回避するには、次の 2 つの方法のいずれかでAPP_PORT
およびMYSQL_PORT
環境変数を設定して、プロジェクトごとに異なるポートを使用します。
.env
ファイル内:
APP_PORT=8080 MYSQL_PORT=33060
または、Vessel を開始するとき:
APP_PORT=8080 MYSQL_PORT=33060 ./vessel start
その後、 http://localhost:8080
でプロジェクトを表示し、ポート33060
からローカルでデータベースにアクセスできます。
MySQL をポート3306
にバインドしているため、SequelPro はデータベースに直接アクセスできます。
ユーザーroot
のパスワードは、 .env
ファイル内の環境変数DB_PASSWORD
によって設定されます。
ポート設定は
MYSQL_PORT
環境変数と一致する必要があります。デフォルトは3306
です。
使用できる組み込みヘルパーのリストを次に示します。 vessel
スクリプトで定義されていないコマンドは、デフォルトでdocker-compose
コマンドに渡されます。コマンドを使用しない場合は、 docker-compose ps
が実行され、この環境で実行中のコンテナーが一覧表示されます。
# 船舶の現在のバージョンを示します$ 船舶 --version # または [ -v | version ]# は、vessel help$ を表示しますvessel --help # または [ -H |ヘルプ ]
# 環境を開始します。/vessel start## これは、./vessel up -d# 環境を停止します。/vessel stop## これは、./vessel down と同等です。
# コンポーザーを使用します。/vessel コンポーザー <cmd>./vessel comp <cmd> # 「comp」は「composer」へのショートカットです# アーティザンを使用します。/ベッセル アーティザン <cmd>./vessel art <cmd> # 「アート」は"artisan" へのショートカット# tinker REPL を実行します。/vessel tinker # "tinker" は "artisan tinker" のショートカットです# phpunit テストを実行します。/vessel test## 例: phpunit に渡すものはすべてこれにも渡すことができます。/vessel test --filter=some.phpunit.filter ./vessel test testing/Unit/SpecificTest.php# npm を実行します。/vessel npm <cmd>## 例: install deps./vessel npm install#yarn を実行します。/vessel tongue <cmd>## 例: install deps./ Vessel Yarn install# gulp を実行します。/vessel gulp <cmd>
前述したように、組み込みコマンドとして認識されないものはすべて、 docker-compose
コマンドの引数として使用されます。ここではいくつかの便利なトリックを紹介します。
# どちらも、現在実行中のコンテナとそのステータスをリストします。/vessel ./vessel ps# コンテナ サービスのログ出力を確認します。/vessel logs # すべてのコンテナ ログ。/vessel logs app # nginx | php logs./vessel logs mysql # mysql logs./vessel logs redis # redis logs## ログを追跡して、生成された出力を確認します。/vessel logs -f # all logs./vessel logs -f app # nginx | php logs## Tail Laravel Logs./vessel exec app tail -f /var/www/html/storage/logs/laravel.log# コンテナ内で bash シェルを開始します# これは、サーバーに SSH 接続するのと同じです#この方法で行われたコンテナへの変更は ** ではないことに注意してください**# ベッセル環境を停止および開始しても存続します# ソフトウェアをインストールするかサーバー構成を変更するには、# Dockerfile を編集して以下を実行する必要があります: ./vessel build./vessel exec app bash# 例: mysqldump データベース "homestead" をローカル ファイル システムに# この方法でコマンド ラインにパスワードを追加する必要があります# これにより、ファイル "homestead.sql" がローカル ファイル システムに作成されます。 # コンテナ内# @link https://serversforhackers.com/c/mysql-in-dev-docker./vessel exec mysql mysqldump -u root -psecret ホームステッド > homestead.sql
このプロジェクトの目的はシンプルさです。これには次のものが含まれます。
PHP7.4
MySQL 5.7
Redis (最新)
NodeJS (最新)、Yarn と Gulp を使用
Docker に慣れていない場合は、この Docker in Development コースを試してみてください。このコースでは、Docker がどのようにまとめられるかについての重要なトピックが説明されています。
このワークフローがどのように開発されたかを知りたい場合は、 Shipping Docker を確認し、この Docker ワークフローの構築を説明する無料のコース モジュールにサインアップしてください。
Vessel には Docker が必要ですが、現在は Windows、Mac、Linux でのみ動作します。
Windows では Hyper-V を実行する必要があります。 Git Bash (MINGW64) と WSL の使用がサポートされています。 ネイティブ Windows はまだ開発中です。
マック | Linux | 窓 |
---|---|---|
Mac に Docker をインストールする | Debian に Docker をインストールする | Windows に Docker をインストールする |
Ubuntu に Docker をインストールする | ||
CentOS に Docker をインストールする |