(本文譯自〈Docker for PHP Developers〉)
Nginx Docker容器(Container)
我們在實例化(instantiate)Nginx Docker 容器之前,需要先傳好虛擬主機的組態檔,在你的專案目錄下建立下面檔案 src/vhost.conf:
server {
listen 80;
index index.html;
server_name docker.dev;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /var/www/public;
}
這是個基本(rudimentary)的 Nginx 虛擬主機,它會監聽 HTTP 80 埠的連入要求;它會回應對於主機名稱 docker.dev 的所有的 HTTP 要求;它把錯誤與存取紀錄輸出到指定的路徑檔案(並且這些檔案也符號連接(symlink)到容器的標準輸出與表準錯誤描述子(descriptor));它定義了網站根目錄在 /var/www/public。我們在實例化時會把這份虛擬主機組態檔案拷貝到我們的 Docker 容器內。
在你的專案根目錄內執行下面的 Bash 指令,實例化並且跑一個基於我們訂製的 tutorial/nginx Docker 映像的新的 Nginx Docker 容器。
docker run \
-d \
-p 8080:80 \
-v $(pwd)/src/vhost.conf:/etc/nginx/sites-enabled/vhost.conf \
-v $(pwd)/src:/var/www \
tutorial/nginx;
我們使用旗標 -d
讓我們新的 Docker 容器在背景執行。
我們使用旗標 -p
來對映 Docker 母機(host)埠到容器埠,在本例中,我們叫 Docker 讓 Docker 母機(8080 埠)對映到 Docker 容器(80 埠)。
(待續…)
Top comments (0)