您好,登錄后才能下訂單哦!
CentOS7.3服務器中怎么通過Docker安裝Nginx,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
docker pull nginx
溫馨小提示: -p:保證目錄名稱存在,如果不存在則重新創建一個 html: 映射容器中的靜態資源目錄 logs: 日志文件目錄 conf: 配置文件目錄 conf.d: 配置文件子目錄
mkdir -p /IT_zhengqing/soft/nginx/html /IT_zhengqing/soft/nginx/logs /IT_zhengqing/soft/nginx/conf /IT_zhengqing/soft/nginx/conf/conf.d
-> 目的:運行啟動nginx時,將宿主機中的配置文件映射到容器中的配置文件(將nginx容器中的配置文件掛載到宿主機上) -> 即nginx啟動后,使用的是宿主機中的配置
docker run -it --name nginx -p 81:80 nginx:latest /bin/bash
①nginx.conf配置文件路徑: /etc/nginx/nginx.conf
cd /etc/nginx/ ls -l
②default.conf配置文件路徑: /etc/nginx/conf.d/default.conf
conf.d:為子目錄,容器走完nginx.conf配置文件后,會走conf.d子目錄下的配置文件
cd /etc/nginx/conf.d/
③存放靜態資源文件夾html路徑: /usr/share/nginx/html
cd /usr/share/nginx/
④日志文件路徑: /var/log/nginx
cd /var/log/nginx
exit
docker cp fb5de6e5638d:/etc/nginx/nginx.conf /IT_zhengqing/soft/nginx/conf docker cp fb5de6e5638d:/etc/nginx/conf.d/default.conf /IT_zhengqing/soft/nginx/conf/conf.d
溫馨小提示: 從容器中拷貝文件到宿主機中: docker cp 容器名或容器ID:容器中要拷貝的文件所在路徑 要拷貝到宿主機中的對應路徑 從宿主機中拷貝文件到容器中: docker cp 宿主機中要拷貝的文件路徑 容器名或容器ID:要拷貝到容器中的對應路徑
溫馨小提示: 上面在容器中找配置文件以交互模式啟動的nginx容器如果端口和下面要使用的端口沖突的話,需要停止相應進程、容器運行哦!!! 檢查端口被哪個進程占用: netstat -lnp|grep 端口號 殺掉進程【ex:強制殺掉編號為10001的進程】:kill -9 10001 停止以啟動的容器: docker stop nginx 刪除容器: docker rm -f nginx 然后執行docker ps查看運行的容器,如果成功刪除端口會沖突的容器,再部署,走下面的流程!!!
docker run -d -p 81:80 --name nginx -v /IT_zhengqing/soft/nginx/html:/usr/share/nginx/html -v /IT_zhengqing/soft/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /IT_zhengqing/soft/nginx/conf/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /IT_zhengqing/soft/nginx/logs:/var/log/nginx nginx
-d: 以后臺模式啟動容器 -> 后臺運行該容器 -p 81:80: 將容器的 80 端口映射到宿主機的 81 端口 注:部分服務器需要手動去放行端口哦 --name nginx: 將容器命名為nginx -v /IT_zhengqing/soft/nginx/html:/usr/share/nginx/html: 將宿主機中創建的 html 目錄掛載到容器的 /usr/share/nginx/html 目錄 注意一定要找到容器中配置文件所在的準確路徑,否則這里運行會報錯!
cd /IT_zhengqing/soft/nginx/html touch index.html # 創建文件 echo '<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>nginx容器運行中...</title> </head> <body> <h2> Hello World </h2> <p> If I were you. </p> </body> </html>' > index.html # echo:如果沒有這個文件則創建。如果有這個文件,那么新內容將會代替原來的內容。
這里也可以使用vi編輯器創建文件,命令如下:
vi index.html # 然后按i插入 , 之后輸入內容,按Esc退出編輯模式,切換到英文輸入法按shift + : 再輸入 wq 退出并保存 最后通過 cat index.html 命令查看文件內容
小編這里說下使用vi命令和echo命令去創建文件寫入內容的區別: 在部署nginx運行時如果沒有設置只讀的情況下, (只讀是掛載目錄時后面加上:ro 如:-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro)
echo 命令 -> 修改內容,宿主機和容器配置文件都會改變; vi 命令 -> 修改內容,宿主機和容器配置互不影響。
看完上述內容,你們掌握CentOS7.3服務器中怎么通過Docker安裝Nginx的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。