Computer Science
Docker Practise - 1
On this page
實作說明
當一個軟體完成後要進行發布網站,我們並不會使用絕對路徑,顯示檔案位置,會使用取得主機(hosting)和網域名稱(domain name)的方式來達到。
而他人只需要訪問你的 hosting IP 或為其申請的 domain name 來 request 資料。
而常見的有兩種工具來做:
- Apache
- nginx
舉個大家比較熟悉的例子就是 xampp, 可以將檔案丟進去,訪問 localhost 進行訪問。
但是因為 xampp 是一個類似於 LAMP 的環境, 他除了 Apache 以外,還包含了 phpmyadmin、PHP、Perl 等其他東西, 如果不需要用到 php 等東西,就會比較沒有必要。
創建一個 docker images
- ubuntu
docker run -it -p 80:80 ubuntu:focal bash
更新 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)
解決方法:
- 輸入以下指令
nginx -c /etc/nginx/nginx.conf
- 查看
/etc/nginx/nginx.conf修改內容
nano /etc/nginx/nginx.conf
- 將其中內容修改成下方
pid /var/run/nginx.pid;
#pid /run/nginx.pid;
pid /var/run/nginx.pid;
- 再試一次
nginx -s reload
網頁連接設定
nano /etc/nginx/sites-available/default

- port 連接設定
- 根目錄檔案位置
- 預先載入檔案
- server_name 用於設定 DNS 域名
最後將 APP 檔案加入根目錄檔案位置
原本顯示完整檔案位置

經過修改剩下 locolhost = 127.0.0.1

^D = exit: 離開 container
如果在 Terminal 無法離開 container
- 再開起一個 Terminal
docker ps: 檢查還未關閉的 containerdocker stop [container ID]: 這裡 container ID 可以打前兩個字就好