Docker 安裝 Nginx


Docker 安裝 Nginx


docker pull nginx 命令安裝

查找 Docker Hub 上的 nginx 鏡像:

docker search nginx

 

這里我們拉取官方的鏡像

docker pull nginx

 

等待下載完成后,我們就可以在本地鏡像列表里查到 REPOSITORY 為 nginx 的鏡像

docker images nginx

 

以下命令使用 Nginx 默認的配置,來啟動一個 Nginx 容器實例

docker run --name nginx-test1 -p 8081:80 -d nginx

  • nginx-test1 容器名稱
  • -d 設置容器在后台一直運行
  • -p 端口進行映射,將本地 8081 端口映射到容器內部的 80 端口(host portcontainer port

 

執行以上命令會生成一串字符串,類似 13afb35cbc98ebd8ad451f0fda9bec24e814916c1e929b89363e7ca92c1746eb,這個表示容器的 ID,一般可作為日志的文件名。

我們可以使用 docker ps 命令查看容器是否有在運行:

docker ps 

PORTS 部分表示端口映射本地的 8081 端口映射到容器內部的 80 端口。

在瀏覽器中打開 http://機器IP:8081/,效果如下:

 

 


nginx 部署

首先,創建目錄 nginx, 用於存放后面的相關東西:

mkdir -p ./nginx/www ./nginx/logs ./nginx/conf

 

拷貝容器內 Nginx 默認配置文件到本地當前目錄下的 conf 目錄,容器 ID 可以查看 docker ps 命令輸入中的第一列:

docker cp 13afb35cbc98:/etc/nginx/nginx.conf ./nginx/conf

  • www: 目錄將映射為 nginx 容器配置的虛擬目錄
  • logs:  目錄將映射為 nginx 容器的日志目錄
  • conf:  目錄里的配置文件將映射為 nginx 容器的配置文件

 

部署命令

docker run -d -p 8081:80 --name nginx-web-test -v /opt/miracleTest/nginx/www:/usr/share/nginx/html -v /opt/miracleTest/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /opt/miracleTest/nginx/logs:/var/log/nginx nginx

或者

docker run -d -p 8081:80 --name nginx-web-test -v $PWD/nginx/www:/usr/share/nginx/html -v $PWD/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/nginx/logs:/var/log/nginx nginx

此命令中的機器目錄要是全路徑!!

命令說明:

  • -p 8081:80 將主機的 8081 端口 映射到 容器的 80 端口

  • --name nginx-web-test將容器命名為 nginx-web-test

  • -v $PWD/nginx/www:/usr/share/nginx/html將我們自己創建的 www 目錄掛載到容器的 /usr/share/nginx/html

  • -v $PWD/nginx/conf/nginx.conf:/etc/nginx/nginx.conf將我們自己創建的 nginx.conf 掛載到容器的 /etc/nginx/nginx.conf

  • -v $PWD/nginx/logs:/var/log/nginx將我們自己創建的 logs 掛載到容器的 /var/log/nginx

 

啟動以上命令后進入 ./nginx/www 目錄:

cd $PWD/nginx/www

 

創建 index.html 文件,內容如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Docker Nginx</title>
</head>
<body>
    <h1>我的第一個標題: Docker Nginx</h1>
    <p>我的第一個段落: Hello, Nginx.</p>
</body>
</html>

 

刷新頁面,輸出結果為:

 

 


相關命令

如果要重新載入 Nginx 可以使用以下命令發送 HUP 信號到容器

docker kill -s HUP container-name

 

停止 Nginx 容器命令:

docker stop container-name

 

啟動 Nginx 容器命令:

docker start container-name

 

重啟 Nginx 容器命令:

docker restart container-name

 

 

 


PS:

參考:https://www.runoob.com/docker/docker-install-nginx.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM