前言: 編寫docker部署nginx的腳本文件并執(zhí)行忠寻,同時采用持久化存儲的方式,對nginx相關(guān)目錄或文件進(jìn)行掛載。
Docker部署nginx(基礎(chǔ))
持久化存儲
為了能夠?qū)ginx配置文件持久化掛載到本地磁盤洋措,建議構(gòu)建以下目錄
- nginx-data
- conf
- html
先進(jìn)入合適的目錄蜘渣,然后執(zhí)行: mkdir -p ./nginx-data/{cert,conf,html}
構(gòu)建nginx-install.sh腳本
#! /bin/bash
# 暫停容器
docker stop nginx_pro
# 刪除容器
docker rm nginx_pro
# 配置環(huán)境變量淌铐,{username}替換成自己實(shí)際的用戶目錄
HOME=/home/{username}/docker-data/nginx-data
# 啟動一個臨時nginx容器,并將相關(guān)文件或目錄復(fù)制到本地磁盤目錄中
docker run --detach --name tmp_nginx nginx
sleep 5
docker cp tmp_nginx:/usr/share/nginx/html/ ${HOME}
docker cp tmp_nginx:/etc/nginx/conf.d ${HOME}/conf
docker cp tmp_nginx:/etc/nginx/nginx.conf ${HOME}/conf/nginx.conf
# 停止并銷毀臨時nginx容器
docker stop tmp_nginx
docker rm tmp_nginx
# 啟動nginx蔫缸,并掛在到相關(guān)文件目錄
docker run --detach \
--name nginx_pro \
--publish 80:80 \
--publish 443:443 \
--volume ${HOME}/html:/usr/share/nginx/html \
--volume ${HOME}/conf/conf.d:/etc/nginx/conf.d \
--volume ${HOME}/conf/nginx.conf:/etc/nginx/nginx.conf nginx
注意:
- 確保HOME變量能定位到正確的位置腿准,理論上該腳本可以重復(fù)執(zhí)行。
- docker掛載目錄時拾碌,該目錄下只能包含純文件吐葱,不能包含其它目錄。
- docker掛載目標(biāo)文件時校翔,必須使用絕對路徑弟跑,例如nginx.conf。
執(zhí)行nginx-install.sh腳本
# 這里有兩種執(zhí)行方式
## 第一種:
## 增加可執(zhí)行權(quán)限
chmod +x nginx-install.sh
## 執(zhí)行
./nginx-install.sh
# 或
## 第二種
## 直接執(zhí)行
sh nginx-install.sh
測試
1.檢查本地文件是否掛載成功
進(jìn)入nginx-data目錄下防症,檢查conf, conf/conf.d, html目錄下是否存在對應(yīng)的文件
2.查看容器是否正常運(yùn)行
執(zhí)行指令:
# 查看正在運(yùn)行的容器
docker ps
# 查看所有容器(運(yùn)行或停止)
docker ps -a
3.訪問網(wǎng)址
3.1 在服務(wù)器上可以執(zhí)行curl localhost
測試是否返回網(wǎng)頁內(nèi)容孟辑。
3.2 在個人電腦瀏覽器里可以輸入http://ip
或http://domain.com
訪問網(wǎng)頁內(nèi)容。
注意: 如果在服務(wù)器上能夠訪問蔫敲,個人電腦瀏覽器無法走公網(wǎng)訪問饲嗽,要檢查服務(wù)器防火墻是否開放了80端口,以及阿里云服務(wù)器安全組是否開放了80端口的訪問權(quán)限燕偶。
轉(zhuǎn)載申明
本文轉(zhuǎn)載自智小約的Docker部署nginx(基礎(chǔ))喝噪,若轉(zhuǎn)載請注明來源,侵刪指么。