環境
クライアントPC … MacOS
Docker内 … PHP7 + MySQL8 + Nginx
Dockerインストール
まず「Docker for Mac」をインストールします。
https://www.docker.com/
必要なコードの用意
以下のようなディレクトリ構造にします。project_name ├─ laradock └─ sourceプロジェクト名のディレクトリを作成してその中に移動
cd ~ mkdir project_name && cd $_「LaraDock」をGitクローン
git clone https://github.com/LaraDock/laradock.git開発中プロジェクトをGitクローン
git clone https://github.com/ユーザー名/プロジェクト名laradockへ移動し、環境設定ファイルを作成します。
cd laradock cp env-example .env.envファイルに記載してある以下2つのディレクトリが互いに同期します。
#ホストのディレクトリ APP_CODE_PATH_HOST=../ #Dockerコンテナのワークスペース内のディレクトリ APP_CODE_PATH_CONTAINER=/var/www
Webサーバーの設定
NginxとMySQLのコンテナ起動(バックグラウンド)cd laradock docker-compose up -d nginx mysql全て起動していることを確認します。
Recreating laradock_mysql_1 ... done Recreating laradock_docker-in-docker_1 ... done Recreating laradock_workspace_1 ... done Recreating laradock_php-fpm_1 ... done Recreating laradock_nginx_1 ... doneワークスペースコンテナへアクセスします。
docker-compose exec workspace bash
プロジェクトのソースへ移動し、Composerをインストールします。 cd source composer installコンテナから出ます。
exitNginxのパス設定を書き換えます
/laradock/nginx/sites/default.conf root /var/www/public; → root /var/www/source/public;コンテナを再起動
docker-compose restart
ブラウザを確認すると、画像のようになります。 http://localhost/
データベース設定
Mysqlコンテナへアクセスcd laradock docker-compose exec mysql bash
デフォルトでは以下の設定になっています。
・ユーザー名: default
・パスワード: secret
mysql -u root -proot > show grants for root@localhost; > GRANT ALL ON *.* TO 'default'@'%';.envを準備します。ホストはmysqlです。
DB_HOST=mysql DB_DATABASE=db_name DB_USERNAME=default DB_PASSWORD=secret開発中のDBをDocker内のMysqlへ移行します。
Webページが本番と同じ動作をすれば、移行は成功です。