dockerで開発環境を構築する
の編集
http://wiki.souken-dev.com/?docker%E3%81%A7%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%99%E3%82%8B
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
01_企画・計画
02_開発
02_開発/01_開発環境構築
03_運用
AutoTicketLinkName
BracketName
CDN
dev環境FBテストユーザー
dockerで開発環境を構築する
FormattingRules
FrontPage
gitからソースファイルを取得する
gitを操作する上での注意点
git運用手順
Help
HOME
HTMLコーディングルール
InterWiki
InterWikiName
InterWikiSandBox
MenuBar
PHP
phpstormでのcheckout手順
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
SandBox
WikiEngines
WikiName
WikiWikiWeb
YukiWiki
りそなテストカード番号
ウチコミ! 動作環境
コラム更新
サテライトサイト更新(大家会)
セミナー追加
リリース手順
リードレプリカ手動追加手順
壁紙プレゼント機能
成約インタビュー更新
機能or作業メモ
用語集追加
管理会社追加
課題対応の流れ
開発環境用:シンボリックリンク再生成
開発用アカウント情報
[[02_開発/01_開発環境構築]] #markdown{{ # ■ docker開発環境の構築手順 ## ■ docker環境をインストールする - WIndows 10 Professionalの場合 → [「Docker Desktop for Windows」をインストール](https://docs.docker.com/docker-for-windows/install/) - Docker Desktop for Windowsを起動したときにHyper-Vを有効にする告知が表示されたら案内に従って再起動する。 - Docker Toolboxを使用していた環境でdockerのコマンドがまったく動かないなら、「Windows PowerShell」で次のコマンドを実行する。 ```cmd [Environment]::SetEnvironmentVariable("DOCKER_CERT_PATH", $null, "User") [Environment]::SetEnvironmentVariable("DOCKER_HOST", $null, "User") [Environment]::SetEnvironmentVariable("DOCKER_MACHINE_NAME", $null, "User") [Environment]::SetEnvironmentVariable("DOCKER_TLS_VERIFY", $null, "User") [Environment]::SetEnvironmentVariable("DOCKER_TOOLBOX_INSTALL_PATH", $null, "User") ``` - dockerコマンドの実行で「no matching manifest for windows/amd64 ~ in the manifest list entries.」のエラーが表示される場合は次の手順を実行する。 - Docker Desktop for Windowsのアイコンを右クリックし、Settingsを開く。 - 「Daemon」を「Advanced」に変更し、「"experimental": true」にしてApplyする。 - Windowsキー → WIndows管理ツール → サービスを開き、「Service」と「Workstation」を実行中にする。 - Docker Desktop for Windowsのアイコンを右クリックし、Settingsを開く。 - 「Shared Drives」をチェックONに変更し、Applyする。 - WIndows 10 Home / Professionalの場合 → [「Docker Toolbox for Windows」をインストール](https://docs.docker.com/toolbox/toolbox_install_windows/) BIOSの設定でHyper-Vは無効とする。 - Dockerのインストーラーは標準のオプション(git for windowsはチェックオフとなっている)でインストールする。 - Windowsログオンはmicrosoftアカウントでないこと。 ### ■ hostsファイルを変更する 1. 以下の内容をhostファイルに書く。 - docker-toolbox(docker machineを使う)の場合。 - 「docker Quickstart Termnal」を起動したときのメッセージのIPアドレスでhostファイルを書く。 ```hosts 192.168.99.100 u.local.lcl 192.168.99.100 om.local.lcl 192.168.99.100 am.local.lcl 192.168.99.100 ad.local.lcl 192.168.99.100 lg.local.lcl 192.168.99.100 pm.local.lcl ``` - ※ docker-toolboxを再インストールするなどによりIPアドレスが変わったら上記手順でhostファイルを更新する。 - Docker Desktop(docker machineを使わない)の場合 ```hosts 127.0.0.1 u.local.lcl 127.0.0.1 om.local.lcl 127.0.0.1 am.local.lcl 127.0.0.1 ad.local.lcl 127.0.0.1 lg.local.lcl 127.0.0.1 pm.local.lcl ``` 1. コマンドプロンプトを開き、次のコマンドを実行する。 > ipconfig /flushdns ## ■ docker環境をインストールする ### ■ docker-composeでイメージのビルドと初回起動を行う 以下のようにファイルを配置したものとして説明する。 - gitリポジトリ 「/c/Users/(Windowsログオン名)/Documents/projects/uchicomi-source」 ※dockerに対応したもの ※配置先はユーザーディレクトリ以下であれば変更できる。 1. docker環境のファイルを配置する。 - [docker用ファイル一式をダウンロード](https://ambass.backlog.jp/alias/file/1093273257)して展開し、「/c/Users/(Windowsログオン名)/Documents/projects/docker/uchicomi」に配置する。 - その時点のソースに対応したDBのダンプファイルダウンロードして展開し、「db\docker-entrypoint-initdb.d」に配置する。 現時点で次のファイルを配置する。 - uchicomidev.sql.bak (最新は、phpmyadminより取得する。フォーマットは、SQLで、ファイルダウンロード後に、ファイルをリネームするだけでOK) 1. ローカルにチェックアウトしたgitリポジトリで、動作に必要な次のディレクトリを作成する。 - fuel/app/cache/stations 1. リポジトリ中の、docker-compose.ymlのvolumesに、リポジトリを配置したパスをフルパスで記載する(相対パスはWindowsではうまく動かない) ```docker-compose.yml(対象の箇所のコメントアウトを外し、元の記載をコメントアウトする。) //c/Users/(ユーザー名)/Documents/projects/uchicomi-source:/var/www/html/uchicomi.com ``` 1. docker-toolboxの場合は「Docker QuickStart Terminal」を開き、docker Desktopの場合は「Windows Powershell」を開き、docker-composeでコンテナを起動する。 - リポジトリ中のdocker-compose.ymlファイルがあるフォルダをカレントディレクトリにし、dockerイメージを初回ビルドする。 ※数十分かかる ```bash cd "/c/Users/(Windowsログオン名)/Documents/projects/docker/uchicomi" docker-compose build ``` - docker-composeで初回コンテナを起動する。 「import data」と表示されてMySQLコンテナのインポートに数十分かかる。 (「〜/docker/uchicomi/data/db」以下にMySQLのデータが作成され、永続化される) ```bash docker-compose up ``` - (最も時間がかかる)コンテナ起動が完了したことを示す次のログが表示されたら、CTRL+Cでコンテナを中断させる。 「mysqld: ready for connections.」 - MySQLのコンテナへのインポートをやり直したいときは「〜/docker/uchicomi/data/db」以下を削除してこの手順をやり直す。 ### ■ docker-composeで作業用にコンテナを起動する 1. Docker QuickStart Terminalからdockerコンテナをバックグラウンド起動する。 ```bash cd "/c/Users/(Windowsログオン名)/Documents/projects/docker/uchicomi" docker-compose up -d docker-compose ps ``` - コンテナが起動したかどうかは次のコマンドでSTATUSがupになっていればOK。 コンテナが正常に起動しない場合は、次のようにコンテナをダウンさせ、フロントで起動するとエラーを確認できる。 ```bash docker-compose down docker-compose up ``` - 不要なコンテナが起動し続けている場合は 、起動しているコンテナの一覧を表示してコンテナIDを確認し、個別に停止させてからコンテナを整理する。 ```bash docker ps -a docker stop 1e8b68e27e79 # 1e8b68e27e79はコンテナID docker container prune ``` - コンテナが起動していれば、Webサービスが動作しているOSに、次の操作で入ることができる。(コンテナの終了で設定等は失われる) ```bash docker-compose exec uchicomidev bash ``` ### ■ db.phpの内容を書き換える - dockerでの環境構築の場合、DBへのアクセス情報が異なるため下記ファイルの編集が必要 - fuel/app/config/development/db.php return array( 'default' => array( 'connection' => array( 'dsn' => 'mysql:host=uchicomiMySql;dbname=uchicomi', 'username' => 'ec2-user', 'password' => 'ec2-user', ), 'profiling' => true, ), ); - 注意点 - 現状、コミットはしていないので ``` git stash save ``` で保存している 1. ブラウザからWebページを開いて表示できることを確認する(アクセス情報等はリリース手順を参照) > http://u.local.lcl/ → 入居者フロントが表示される > http://om.local.lcl/ → 大家マイページが表示される > http://am.local.lcl/ → エージェントマイページが表示される > http://ad.local.lcl/ → 管理者画面が表示される > http://lg.local.lcl/ → リーガルチェック画面が表示される > http://pm.local.lcl:8080/ → PhpMyAdminが表示される。 ユーザー情報は ec2-user / ec2-user で。 > http://u.local.lcl:8025/ → MailHogが表示される。表示されたメッセージは文字化けしているのでテキストエディタへコピーペーストし、文字コードを直して内容を確認できる。 }}
タイムスタンプを変更しない
[[02_開発/01_開発環境構築]] #markdown{{ # ■ docker開発環境の構築手順 ## ■ docker環境をインストールする - WIndows 10 Professionalの場合 → [「Docker Desktop for Windows」をインストール](https://docs.docker.com/docker-for-windows/install/) - Docker Desktop for Windowsを起動したときにHyper-Vを有効にする告知が表示されたら案内に従って再起動する。 - Docker Toolboxを使用していた環境でdockerのコマンドがまったく動かないなら、「Windows PowerShell」で次のコマンドを実行する。 ```cmd [Environment]::SetEnvironmentVariable("DOCKER_CERT_PATH", $null, "User") [Environment]::SetEnvironmentVariable("DOCKER_HOST", $null, "User") [Environment]::SetEnvironmentVariable("DOCKER_MACHINE_NAME", $null, "User") [Environment]::SetEnvironmentVariable("DOCKER_TLS_VERIFY", $null, "User") [Environment]::SetEnvironmentVariable("DOCKER_TOOLBOX_INSTALL_PATH", $null, "User") ``` - dockerコマンドの実行で「no matching manifest for windows/amd64 ~ in the manifest list entries.」のエラーが表示される場合は次の手順を実行する。 - Docker Desktop for Windowsのアイコンを右クリックし、Settingsを開く。 - 「Daemon」を「Advanced」に変更し、「"experimental": true」にしてApplyする。 - Windowsキー → WIndows管理ツール → サービスを開き、「Service」と「Workstation」を実行中にする。 - Docker Desktop for Windowsのアイコンを右クリックし、Settingsを開く。 - 「Shared Drives」をチェックONに変更し、Applyする。 - WIndows 10 Home / Professionalの場合 → [「Docker Toolbox for Windows」をインストール](https://docs.docker.com/toolbox/toolbox_install_windows/) BIOSの設定でHyper-Vは無効とする。 - Dockerのインストーラーは標準のオプション(git for windowsはチェックオフとなっている)でインストールする。 - Windowsログオンはmicrosoftアカウントでないこと。 ### ■ hostsファイルを変更する 1. 以下の内容をhostファイルに書く。 - docker-toolbox(docker machineを使う)の場合。 - 「docker Quickstart Termnal」を起動したときのメッセージのIPアドレスでhostファイルを書く。 ```hosts 192.168.99.100 u.local.lcl 192.168.99.100 om.local.lcl 192.168.99.100 am.local.lcl 192.168.99.100 ad.local.lcl 192.168.99.100 lg.local.lcl 192.168.99.100 pm.local.lcl ``` - ※ docker-toolboxを再インストールするなどによりIPアドレスが変わったら上記手順でhostファイルを更新する。 - Docker Desktop(docker machineを使わない)の場合 ```hosts 127.0.0.1 u.local.lcl 127.0.0.1 om.local.lcl 127.0.0.1 am.local.lcl 127.0.0.1 ad.local.lcl 127.0.0.1 lg.local.lcl 127.0.0.1 pm.local.lcl ``` 1. コマンドプロンプトを開き、次のコマンドを実行する。 > ipconfig /flushdns ## ■ docker環境をインストールする ### ■ docker-composeでイメージのビルドと初回起動を行う 以下のようにファイルを配置したものとして説明する。 - gitリポジトリ 「/c/Users/(Windowsログオン名)/Documents/projects/uchicomi-source」 ※dockerに対応したもの ※配置先はユーザーディレクトリ以下であれば変更できる。 1. docker環境のファイルを配置する。 - [docker用ファイル一式をダウンロード](https://ambass.backlog.jp/alias/file/1093273257)して展開し、「/c/Users/(Windowsログオン名)/Documents/projects/docker/uchicomi」に配置する。 - その時点のソースに対応したDBのダンプファイルダウンロードして展開し、「db\docker-entrypoint-initdb.d」に配置する。 現時点で次のファイルを配置する。 - uchicomidev.sql.bak (最新は、phpmyadminより取得する。フォーマットは、SQLで、ファイルダウンロード後に、ファイルをリネームするだけでOK) 1. ローカルにチェックアウトしたgitリポジトリで、動作に必要な次のディレクトリを作成する。 - fuel/app/cache/stations 1. リポジトリ中の、docker-compose.ymlのvolumesに、リポジトリを配置したパスをフルパスで記載する(相対パスはWindowsではうまく動かない) ```docker-compose.yml(対象の箇所のコメントアウトを外し、元の記載をコメントアウトする。) //c/Users/(ユーザー名)/Documents/projects/uchicomi-source:/var/www/html/uchicomi.com ``` 1. docker-toolboxの場合は「Docker QuickStart Terminal」を開き、docker Desktopの場合は「Windows Powershell」を開き、docker-composeでコンテナを起動する。 - リポジトリ中のdocker-compose.ymlファイルがあるフォルダをカレントディレクトリにし、dockerイメージを初回ビルドする。 ※数十分かかる ```bash cd "/c/Users/(Windowsログオン名)/Documents/projects/docker/uchicomi" docker-compose build ``` - docker-composeで初回コンテナを起動する。 「import data」と表示されてMySQLコンテナのインポートに数十分かかる。 (「〜/docker/uchicomi/data/db」以下にMySQLのデータが作成され、永続化される) ```bash docker-compose up ``` - (最も時間がかかる)コンテナ起動が完了したことを示す次のログが表示されたら、CTRL+Cでコンテナを中断させる。 「mysqld: ready for connections.」 - MySQLのコンテナへのインポートをやり直したいときは「〜/docker/uchicomi/data/db」以下を削除してこの手順をやり直す。 ### ■ docker-composeで作業用にコンテナを起動する 1. Docker QuickStart Terminalからdockerコンテナをバックグラウンド起動する。 ```bash cd "/c/Users/(Windowsログオン名)/Documents/projects/docker/uchicomi" docker-compose up -d docker-compose ps ``` - コンテナが起動したかどうかは次のコマンドでSTATUSがupになっていればOK。 コンテナが正常に起動しない場合は、次のようにコンテナをダウンさせ、フロントで起動するとエラーを確認できる。 ```bash docker-compose down docker-compose up ``` - 不要なコンテナが起動し続けている場合は 、起動しているコンテナの一覧を表示してコンテナIDを確認し、個別に停止させてからコンテナを整理する。 ```bash docker ps -a docker stop 1e8b68e27e79 # 1e8b68e27e79はコンテナID docker container prune ``` - コンテナが起動していれば、Webサービスが動作しているOSに、次の操作で入ることができる。(コンテナの終了で設定等は失われる) ```bash docker-compose exec uchicomidev bash ``` ### ■ db.phpの内容を書き換える - dockerでの環境構築の場合、DBへのアクセス情報が異なるため下記ファイルの編集が必要 - fuel/app/config/development/db.php return array( 'default' => array( 'connection' => array( 'dsn' => 'mysql:host=uchicomiMySql;dbname=uchicomi', 'username' => 'ec2-user', 'password' => 'ec2-user', ), 'profiling' => true, ), ); - 注意点 - 現状、コミットはしていないので ``` git stash save ``` で保存している 1. ブラウザからWebページを開いて表示できることを確認する(アクセス情報等はリリース手順を参照) > http://u.local.lcl/ → 入居者フロントが表示される > http://om.local.lcl/ → 大家マイページが表示される > http://am.local.lcl/ → エージェントマイページが表示される > http://ad.local.lcl/ → 管理者画面が表示される > http://lg.local.lcl/ → リーガルチェック画面が表示される > http://pm.local.lcl:8080/ → PhpMyAdminが表示される。 ユーザー情報は ec2-user / ec2-user で。 > http://u.local.lcl:8025/ → MailHogが表示される。表示されたメッセージは文字化けしているのでテキストエディタへコピーペーストし、文字コードを直して内容を確認できる。 }}
テキスト整形のルールを表示する