使用docker安裝nginx

前置條件:

  • Nginx可能會因為Centos防火墻問題導(dǎo)致測試的時候不通,為避免這方面的原因,大家可以先將防火墻關(guān)閉后再進(jìn)行下列操作
# 查看防火墻當(dāng)前狀態(tài)
systemctl status firewalld.service
# 開啟
systemctl start firewalld.service
# 重啟
systemctl restart firewalld.service
# 關(guān)閉
systemctl stop firewalld.service

1. 安裝docker

# 配置yum源(阿里yum源, 已更換了yum為國內(nèi)源或yum下載速度沒有問題可忽略此步驟)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 確保yum源為最新的
yum update
# 安裝依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2     
# 查看所有倉庫中所有Docker版本
yum list docker-ce --showduplicates | sort -r
# 安裝Docker最新版
yum -y install docker-ce
# 啟動Docker
systemctl start docker

設(shè)置開機(jī)自動啟動(根據(jù)需要設(shè)置)

systemctl enable docker

2. 使用Docker安裝Nginx

# 獲取最新版本nginx鏡像 
docker pull nginx:latest
# 在宿主機(jī)上創(chuàng)建以下3個目錄用于nginx的映射
    # ~/nginx/conf.d nginx配置文件目錄
    # ~/nginx/logs nginx運行日志目錄
    # ~/nginx/wwwroot html靜態(tài)頁目錄(存放項目前端html\js\css文檔)
    # ~/nginx/ssl  用于存放證書
mkdir -p ~/nginx/conf.d ~/nginx/logs ~/nginx/wwwroot ~/nginx/ssl

創(chuàng)建nginx容器

docker run --name nginx-stp -p 8081:80 -p 443:443 -v ~/nginx/conf.d:/etc/nginx/conf.d -v ~/nginx/logs:/var/log/nginx -v ~/nginx/wwwroot:/usr/share/nginx/html -v ~/nginx/ssl:/etc/nginx/ssl -v /etc/localtime:/etc/localtime -d nginx
# --name 容器名稱
# -p 宿主機(jī)與容器內(nèi)部端口映射(左邊的是宿主機(jī)端口,右邊的是容器內(nèi)部nginx端口),443端口可以根據(jù)實際選擇是否進(jìn)行映射
# -v 映射目錄(左邊的是宿主機(jī)目錄,右邊的是容器內(nèi)部目錄)
# -d 后臺運行
# 最后一個參數(shù):使用nginx鏡像創(chuàng)建容器

添加nginx配置文件 ~/nginx/conf.d/test-project.conf

server {
    server_name test-project.com;
    listen 80;

    location / {
        root /usr/share/nginx/html;
        try_files $uri /index.html;
        index index.html index.htm;
    }
}

在宿主機(jī)新增配置文件后,需要重新載入配置或者重啟nginx才能生效

  • 重新載入docker中的nginx配置:docker exec nginx-stp nginx -s reload (nginx-stp是容器的名稱也可以使用容器ID代替)
  • 重新啟動docker中的nginx: docker restart nginx-stp

操作到此處時,Nginx就已經(jīng)配置好了,我們可以在 ~/nginx/wwwroot 目錄下寫一個index.html文件測試一下(后面項目中的前端代碼文件就是放在這里),看看是否能夠訪問,如果訪問正常則使用docker安裝nginx大功告成
創(chuàng)建index.html 樣例文件:

vi ~/nginx/wwwroot/index.html

填寫內(nèi)容保存并退出:

<html>
    <head>
        <title>nginx test title</title>
    </head>
    <body>
        <h1>hello docker nginx</h1>
    </body>
</html>

然后在瀏覽器輸入nginx所在宿主機(jī)IP + 端口: http://xxx.xxx.xxx.xxx:8081 ,顯示內(nèi)容如下則恭喜你成功了

訪問成功

docker其它常用操作命令

查看所有容器(不加參數(shù)-a 則只查看所有運行中的容器)

docker ps -a

重啟nginx容器(這里是使用容器名稱進(jìn)行重啟操作,也可通過查詢?nèi)萜鱅D,使用id進(jìn)行重啟)

docker restart nginx-stp

刪除容器(非正常操作,操作前請注意容器內(nèi)數(shù)據(jù)的備份)

docker stop nginx-stp
docker rm nginx-stp
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容