【Laradock】 Laravel x Docker SetUp (lsofでNginxの解決方法)

(備考) HTTPサーバのポート占有エラーでも、この記事を見返す。

1.

$ mkdir nutrition

2.

~/DockerStore/nutrition

$ git clone https://github.com/Laradock/laradock.git -b v9.6

$ cd laradock
$ cp env-example .env

3.

# Point to the path of your applications code on your host
APP_CODE_PATH_HOST=../

=> APP_CODE_PATH_HOST=../../../Projects/laradock_projects/(アプリ名laravel)
# Choose storage path on your machine. For all storage systems
DATA_PATH_HOST=~/.laradock/data

=> DATA_PATH_HOST=../../../Projects/laradock_projects/data

4. 以下3つのコンテナを起動。

workspace php-fpm nginx まず、ターミナルでlaradockフォルダに移動。

$ cd ~/DockerStore/nutrition/laradock

$ docker-compose up -d workspace php-fpm nginx

トラブルシューティング

Starting laradock_docker-in-docker_1 ... done
Starting laradock_workspace_1        ... done
Starting laradock_php-fpm_1          ... done
Starting laradock_nginx_1            ... 

ERROR: for laradock_nginx_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)

ERROR: for nginx  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)
ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60).
laradock (USER)$ sudo lsof -i -P | grep "LISTEN"
Password:
nginx      70           root    5u  IPv4 0x19b9b54bf64f2bc7      0t0  TCP *:80 (LISTEN)
nginx      70           root    6u  IPv6 0x19b9b54bf67803b7      0t0  TCP *:80 (LISTEN)
nginx      70           root    7u  IPv4 0x19b9b54bf64f225f      0t0  TCP *:443 (LISTEN)
nginx     180           root    5u  IPv4 0x19b9b54bf64f2bc7      0t0  TCP *:80 (LISTEN)
nginx     180           root    6u  IPv6 0x19b9b54bf67803b7      0t0  TCP *:80 (LISTEN)
nginx     180           root    7u  IPv4 0x19b9b54bf64f225f      0t0  TCP *:443 (LISTEN)
rapportd  328      general    3u  IPv4 0x19b9b54bf64f18f7      0t0  TCP *:49161 (LISTEN)
rapportd  328      general    4u  IPv6 0x19b9b54bf677f837      0t0  TCP *:49161 (LISTEN)
com.docke 565      general   10u  IPv4 0x19b9b54bfc8498f7      0t0  TCP localhost:49197 (LISTEN)
Adobe\x20 586      general   12u  IPv4 0x19b9b54bfdad48f7      0t0  TCP localhost:15292 (LISTEN)
node      596      general   18u  IPv4 0x19b9b54bfe3b5f8f      0t0  TCP localhost:49237 (LISTEN)
node      596      general   21u  IPv4 0x19b9b54bfe7f08f7      0t0  TCP localhost:49280 (LISTEN)
node      596      general   23u  IPv4 0x19b9b54bfe7f125f      0t0  TCP localhost:45623 (LISTEN)
node      596      general   24u  IPv4 0x19b9b54bfe7ef627      0t0  TCP localhost:49284 (LISTEN)

noel-ingenieur.hateblo.jp




5. killコマンド

$ sudo kill -9 70
$ sudo kill -9 596
$ sudo lsof -i -P | grep "LISTEN"
rapportd  328      general    3u  IPv4 0x19b9b54bf64f18f7      0t0  TCP *:49161 (LISTEN)
rapportd  328      general    4u  IPv6 0x19b9b54bf677f837      0t0  TCP *:49161 (LISTEN)
com.docke 565      general   10u  IPv4 0x19b9b54bfc8498f7      0t0  TCP localhost:49197 (LISTEN)
Adobe\x20 586      general    12u  IPv4 0x19b9b54bfdad48f7      0t0  TCP localhost:15292 (LISTEN)
laradock (USER)$ docker-compose up -d workspace php-fpm nginx
Starting laradock_docker-in-docker_1 ... done
Starting laradock_workspace_1        ... done
Starting laradock_php-fpm_1          ... done
Starting laradock_nginx_1            ... done

6. コンテナの確認

laradock (USER)$ docker-compose ps -a
           Name                          Command              State                    Ports                  
--------------------------------------------------------------------------------------------------------------
laradock_docker-in-docker_1   dockerd-entrypoint.sh           Up      2375/tcp, 2376/tcp                      
laradock_nginx_1              /bin/bash /opt/startup.sh       Up      0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
laradock_php-fpm_1            docker-php-entrypoint php-fpm   Up      9000/tcp                                
laradock_workspace_1          /sbin/my_init                   Up      0.0.0.0:2222->22/tcp   

7. localhost:80でブラウザ表示

*この時点では、404 エラー

http://localhost:80

8. Laravelのインストール

$ docker-compose exec workspace composer create-project --prefer-dist laravel/laravel . "6.8.*"

9. localhost:80でブラウザ表示

*正常にWelcome画面の表示

http://localhost:80