天天看點

docker部署nginx以及使用靜态資源緩存與反向代理既然要使用docker部署nginx,在這裡先介紹一些指令

既然要使用docker部署nginx,在這裡先介紹一些指令

nginx相關指令

(1)啟動:

start nginx.exe

(2)停止:

nginx.exe -s stop

重新加載:

nginx.exe -s reload

docker相關指令

(1)搜尋鏡像:

docker search

鏡像名稱

(2)拉取鏡像:

docker pull

鏡像名稱

(3)檢視鏡像:

docker images

(4)删除鏡像:

docker rmi

鏡像名稱(鏡像id)

(5)删除鏡像:

docker rmi docker images -q

(6)檢視目前正在運作的容器:

docker ps

(7)檢視所有容器:

docker ps -a

(8)建立容器指令:

docker run

表示運作容器
  -t:表示容器啟動後會進入其指令行。加入這兩個參數後,容器建立就能登入進去。即配置設定一個僞終端。
  --name :為建立的容器命名。
  -V:表示目錄映射關系(前者是主控端目錄,後者是映射到主控端上的目錄),可以使用多個-v做多個目錄或檔案映射。注意:最好做目錄映射,在主控端上做修改,然後共享到容器上。
  -d:在run後面加上-d參數則會建立一個守護式容器在後 台運作(這樣建立容器後不會自動登入容器,如果隻加-i-t兩個參數,建立後就會自動進去容器)。
  -p:表示端口映射,前者是主控端端口,後者是容器内的映射端口。可以使用多個-p做多個端口映射
 

  互動式方式建立容器:docker run -it --name=容器名稱 鏡像名稱:标簽 /bin/bash
  守護式方式建立容器:docker run -di --name=容器名稱 鏡像名稱:标簽
           

(9)進入容器:

docker exex -it

容器名稱(或者容器id) /bin/bash

(10)退出容器:

exit

(11)啟動容器:

docker start

容器名稱(或者容器id)

(12)停止容器:

docker stop

容器名稱(或者容器id)

接下來就開始吧

容器建立(目錄挂載)

$ docker run --name=mynginx -p 80:80 -v /resource/html:/usr/share/nginx/html \

-v /resource/conf.d:/etc/nginx/conf.d -d nginx

  • nginx伺服器靜态資源目錄: /usr/share/nginx/html
  • nginx 配置檔案目錄: /etc/nginx/conf.d

通過目錄挂載将靜态資源目錄,以及配置檔案目錄映射到主控端(本伺服器),但是此時是不能運作的,因為配置檔案目錄下此時是空的,建立如下:

$ vi /resource/conf.d/default.conf

#複制下面的server到配置檔案中(如下是最基本的,之後要加跨域等自行加載)

server {
    listen       80;
    server_name  localhost;

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

更新nginx配置

建立完 nginx 的配置檔案之後,我們要讓配置生效, 必須讓 nginx 加載conf.d 目錄下面的配置.

$ docker exec -it mynginx /etc/init.d/nginx reload
           

到這裡記得你的html下還是沒有檔案的,添加index.html就好了

配置反向代理

在映射的配置檔案目錄下下建立一個.conf 的配置就可以了

$ vi /resource/conf.d/gogo.conf
           

#複制下面的server到配置檔案中

server {
    listen 80;
    server_name 域名;    # 把域名替換成你自己的
    location / {
    proxy_redirect off;  
        proxy_set_header Host $host;  
        proxy_set_header X-Real-IP $remote_addr;  
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
        proxy_pass http://ip:port;      # 這裡設定你要代理的ip+端口
      }
}
           

到這裡基本上就結束了,如果想深入了解docker

就點這個把---->Docker — 從入門到實踐

繼續閱讀