This request has already been treated.

  1. khsk

    Windoes → Windows

    khsk
Changes in body
Source | HTML | Preview
@@ -1,257 +1,257 @@
# Windows上でLaradock(Laravel + Docker + nginx)開発環境を構築するお話
:warning: 雑。
:warning: 自分用メモ。
:warning: 動作保証外。
ぼくはもうつかれたよ、パト〇ッシュ......
## つかうもの
+ 必須
+ **くじけぬこころ**
+ Windows 10 Pro
+ Ubuntsu / Bash on windows
+ Docker
+ あると良い
+ X410
+ xterm
+ SurfacePro6 16G/512G
+ どとーる
※ Windows 10 Home -> Proのアップデートは、自分のSurfacePro 6にて 2018/10 現在で5分ちょっとで作業完了できた。
※ laradockで使えるまでの環境構築は30~60分ほど
※ 仕事で使うdockerコンテナを取ってきて全部構築するのは1~2時間コースだった
※ うちの活動範囲はすたばよりどとーるのほーがおおいんだ。はにーらてがすきです。
# 手順
## WSL
### 有効化
スタートメニュー -> 設定:gear: -> アプリ -> アプリと機能 -> 関連設定の「プログラムと機能」
※ 下だったり、左だったり、右だったりする。
-> Windowsの機能の有効化と無効化 -> 「Windows Subsystem for Linux」にチェック
## X410
X Windowサーバ。かっこいい。
最近、値引きセールしていた。なくてもいいけど、あるとちょっといい。
## Ubuntsu入れるよ
Microsoft Storeを開いて```Ubuntsu``` で検索。インストール。無料。
### 違い。
+ 無印: いつもの。
+ LTS :LTS(Long Term Support:長期サポート)”版<br/>2年ごとのアプデが提供されるぞ。<br/>Windowsのサービスパックみたいな安定バージョンだ。
### アプデする
```-y``` で全部yesだ。いいね?
```bash
$ sudo apt update && sudo apt upgrade -y
```
### 日本語化、日本語マニュアル
べ、べつに俺は英語に詳しいけど、別にあってもいいでしょ!
```bash
$ sudo apt install language-pack-ja -y && sudo apt install manpages-ja && sudo update-locale LANG=ja_JP.UTF-8
```
### xterm
```bash
$ sudo apt install xterm
```
### X Windowsサーバへ出力を飛ばすための設定
cygwinなどと衝突する場合は0.0を1.0とかに。
X Windowサーバー側も設定を修正。
```bash
$ export DISPLAY=localhost:0.0
```
### Ubuntsu側からホスト(Windows)側のDockerを使うように設定
```bash
$ echo "export DOCKER_HOST='tcp://0.0.0.0:2375'" >> ~/.bashrc
```
### 忘れるな、環境更新。
```bash
$ source ~/.bashrc
```
## Dockerクライアント
### Ubuntsu側インストール
```bash
$ sudo apt-get install \
apt-transport-https ca-certificates curl \
software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce
```
## Docker For Windows
-要:Windoes10 Pro
+要:Windows10 Pro
取得先:
https://docs.docker.com/docker-for-windows/install/
## Hyper-V
### 有効化
:warning: 本来、Docker For Windowsのインストール時に自動的に有効化してくれる。<br/>でも、Windows10 Homeにインストールしてしまい、<br/>あとからWindows10 Proにアップグレードした場合などはこの操作が必要。
前述の「Windowsの機能の有効化と無効化」から探してもいいし、
下記のように **管理権限付き** のpowershellで
```
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
```
### Generalで接続許可設定
```Expose daemon on tcp://localhost:2357 without TLS```
にチェックをつける。
### ホスト(Windows)機のDockerを見てるかチェック
Ubuntsu側で。
```bash
$ docker info | grep 'Operating System'
```
すると、
```
Operating System: Docker for Windows
```
ってなるはず。
### Dockerが動くかテスト
もっかいUbuntsu側。
動かしてみる。
```bash
$ docker run hello-world
```
## Laradockの準備
### git checkout
:warning: 2018/11現在、改行コードをCR/LFに変換してチェックアウトすると、
nginxが下記のエラーを吐いてdocker上で起動しません。~~そ、そんなー(´・ω・`)~~
```bash
$ docker-compose logs nginx
Attaching to laradock_nginx_1
nginx_1 | nginx: [emerg] open() "/var/log/nginx/error.log" failed (2: No such file or directory)
```
このため、目標のリポジトリで下記の設定をしておくか、bash for windowsでチェックアウトするようにしてください。
```
git config --global core.autocrlf false
git config --global core.eol lf
```
### 設定ファイル
:warning: Windows上のlaradockはデフォルトで用意されている```.env-example```に記述の
```env
APP_CODE_PATH_HOST=../
```
の相対パスが解決できません。
下記のように、ドライブレターからのフルパスでの記述が必要です。
※ WEBサーバ周りも修正が必要です
※ NGINX_SITES_PATHまたはAPACHE_SITES_PATH、
MYSQL_ENTRYPOINT_INITDB、MARIADB_ENTRYPOINT_INITDBやPOSTGRES_ENTRYPOINT_INITDB...
```env
APP_CODE_PATH_HOST=/c/Projects/Nightley-Inc/stats-search-web/
```
+ 同期モード変更
```
### Docker Sync ###########################################
# If you are using Docker Sync. For `osx` use 'native_osx', for `windows` use 'unison', for `linux` docker-sync is not required
DOCKER_SYNC_STRATEGY=unison
```
## Laravelの基本設定など
こちらは他に解説などもあると思うので割愛
## Dockerでコンテナ操作
以下はおよその例
### コンテナ作成と実行
```bash
docker-compose up -d nginx mysql redis
```
### 停止と削除
```bash
$ docker-compose down
```
### コンテナに入る
※ laradock_workspace_1は該当する名称に書き換え
```bash
docker exec -it laradock_workspace_1 /bin/bash
```
### 動作中コンテナの一覧確認
```bash
docker ps
```
# 参照及び引用元
+ 1. Hyper-V
+ 1-1. https://docs.microsoft.com/ja-jp/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v
+ 2. WSL
+ 2-1. https://token2shell.com/howto/x410/setting-up-wsl-for-linux-gui-apps/
+ 3.Docker
+ 3-1. https://docs.docker.com/install/linux/docker-ce/ubuntu/#set-up-the-repository
+ 4. Laradock
+ 4-1. https://github.com/laradock/laradock/issues/1627