Dockerのlocalhostが突然、接続されなくなる問題を解決しました。

# 起きていた問題
突然ブラウザ上にて、localhostが接続されなくなる。
![スクリーンショット 2022-02-11 11.10.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2525372/37a5b636-d34b-954e-96a0-f4e14b78f381.png)

``` c
keitaromasuda@KeitaronoMacBook-Pro WebApp % ./vendor/bin/sail up -d
[+] Running 0/1
 ⠿ laravel.test Error                                                                                                           31.2s
[+] Building 28.1s (3/3) FINISHED                                                                                                     
 => [internal] load build definition from Dockerfile                                                                             0.0s
 => => transferring dockerfile: 32B                                                                                              0.0s
 => [internal] load .dockerignore                                                                                                0.0s
 => => transferring context: 2B                                                                                                  0.0s
 => ERROR [internal] load metadata for docker.io/library/ubuntu:21.04 
```

上記のように二つのエラーが発生しました。

順に解決していきます。


### 解決方法①

```
ERROR [internal] load metadata for docker.io/library/ubuntu:21.04 
```
まずは、こちらのエラーコードを検索すると
https://zenn.dev/hiszuk/articles/cb30071df19a1b4f8365

どうやら、いつもと違うwi-fiを使用しているとのことでした。
たしかに、今は温泉のWi-Fiを使っていました笑

なので、Docker Desktopから、設定をいじることで
このエラーは解決しました。

### 解決方法②

```c
keitaromasuda@KeitaronoMacBook-Pro WebApp % ./vendor/bin/sail up -d
[+] Running 0/1
 ⠿ laravel.test Error                                                                                                            1.3s
[+] Building 4.3s (16/16) FINISHED                                                                                                    
 => [internal] load build definition from Dockerfile                                                                             0.0s
省略                                
 => => naming to sail-8.1/app                                                                                                    0.0s

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
[+] Running 5/6
 ⠿ Container webapp-mysql-1         Started                                                                                      1.0s
 ⠿ Container webapp-selenium-1      Started                                                                                      1.2s
 ⠿ Container webapp-laravel.test-1  Starting                                                                                     1.8s
 ⠿ Container webapp-meilisearch-1   Started                                                                                      1.1s
 ⠿ Container webapp-mailhog-1       Started                                                                                      1.0s
 ⠿ Container webapp-redis-1         Started                                                                                      1.1s
Error response from daemon: Mounts denied: 
The path /Applications/MAMP/htdocs/WebApp is not shared from the host and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> Resources -> File Sharing.
See https://docs.docker.com/desktop/mac for more info.     
```
続いて、ビルドすると
The path /Applications/MAMP/htdocs/WebApp is not shared from the host and is not known to Docker.
とエラーが。

これは、MAMPで捜査を行なっていたことにより発生したエラーです。
どうやら、パスを変えればいけそうなので
対象フォルダをhtdocsフォルダから、デスクトップに移動し、
パス指定をcd desktop/webappに設定し

```
keitaromasuda@KeitaronoMacBook-Pro WebApp % ./vendor/bin/sail up -d
[+] Running 5/6
 ⠿ Container webapp-meilisearch-1   Running                                                                                      0.0s
 ⠿ Container webapp-mailhog-1       Running                                                                                      0.0s
 ⠿ Container webapp-mysql-1         Running                                                                                      0.0s
 ⠿ Container webapp-selenium-1      Running                                                                                      0.0s
 ⠿ Container webapp-redis-1         Running                                                                                      0.0s
 ⠿ Container webapp-laravel.test-1  Starting                                                                                     0.8s
Error response from daemon: Ports are not available: listen tcp 0.0.0.0:8538: bind: address already in use
```
次はポートが使えないよ。とエラーが出ました。
よく見ると、すでに使われているよと。

そこで、先ほどMAMPにて8538のポートを設定していたことを思い出し
MAMPのポートを8538から変更したら

```
keitaromasuda@KeitaronoMacBook-Pro WebApp % ./vendor/bin/sail up -d
[+] Running 6/6
 ⠿ Container webapp-mailhog-1       Running                                                                                      0.0s
 ⠿ Container webapp-meilisearch-1   Running                                                                                      0.0s
 ⠿ Container webapp-selenium-1      Running                                                                                      0.0s
 ⠿ Container webapp-redis-1         Running                                                                                      0.0s
 ⠿ Container webapp-mysql-1         Running                                                                                      0.0s
 ⠿ Container webapp-laravel.test-1  Started  
```
見事にlaravel.testが動き出し、かつて起動できたいたlocalhostが戻ってきました！

このエラーに2日くらい悩まされていたので、大変嬉しいです！！

しかし、エラーにハマっているときはこんな単純じゃなかった気がするんだけどなあ。。

![スクリーンショット 2022-02-16 12.03.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2525372/7d95813f-70cd-2df0-7d42-2c8a7b51eca6.png)