---
# System prepended metadata

title: Docker Practise
tags: [Docker]

---

---
###### tags: `Docker`
---
Docker Practise
===

<style>
    font {
        color: rgb(243, 149, 115);
        font-weight: bold;
    }
</style>

## 實作說明
當一個軟體完成後要進行發布網站，我們並不會使用絕對路徑，顯示檔案位置，會使用取得主機（hosting）和網域名稱（domain name）的方式來達到。

而他人只需要訪問你的 hosting IP 或為其申請的 domain name 來 request 資料。

而常見的有兩種工具來做:
- Apache
- nginx

:::warning
舉個大家比較熟悉的例子就是 xampp，
可以將檔案丟進去，訪問 localhost 進行訪問。

但是因為 xampp 是一個類似於 LAMP 的環境，
他除了 Apache 以外，還包含了 phpmyadmin、PHP、Perl 等其他東西，
如果不需要用到 php 等東西，就會比較沒有必要。
:::

## 創建一個 docker images 
- **ubuntu**

    ![](https://i.imgur.com/3tCmVAq.png)

## 更新 apt
```
apt update
```

## 下載 nginx
```
apt install nginx
```

## 開啟 nginx
```
nginx -s reload
```

**\# 可能出現錯誤資訊:**
```
nginx: [error] open() "/var/run/nginx.pid" failed (2: No such file or directory)
```

**解決方法:**
1. 輸入以下指令
```
nginx -c /etc/nginx/nginx.conf
```

2. 查看 `/etc/nginx/nginx.conf` 修改內容
```
nano /etc/nginx/nginx.conf
```

3. 將其中內容修改成下方 `pid    /var/run/nginx.pid;`
```
#pid   /run/nginx.pid;
pid    /var/run/nginx.pid;
```

4. 再試一次 `nginx -s reload`

## 網頁連接設定
```
nano /etc/nginx/sites-available/default
```

![](https://i.imgur.com/t8nW6eF.png =550x)

- port 連接設定
- 根目錄檔案位置
- 預先載入檔案
- server_name 用於設定 DNS 域名

## 最後將 APP 檔案加入根目錄檔案位置
原本顯示完整檔案位置

![](https://i.imgur.com/vHOYfUJ.png)

經過修改剩下 `locolhost = 127.0.0.1`

![](https://i.imgur.com/ddHfdCk.png)


**==^D = exit==: 離開 container**