中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker nginx容器中怎么部署靜態文件

發布時間:2021-12-13 09:30:25 來源:億速云 閱讀:189 作者:iii 欄目:云計算

這篇文章主要講解了“Docker nginx容器中怎么部署靜態文件”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Docker nginx容器中怎么部署靜態文件”吧!

    注: Docker版本如下:

Client:
 Version:	17.12.0-ce
 API version:	1.35
 Go version:	go1.9.2
 Git commit:	c97c6d6
 Built:	Wed Dec 27 20:11:19 2017
 OS/Arch:	linux/amd64

Server:
 Engine:
  Version:	17.12.0-ce
  API version:	1.35 (minimum version 1.12)
  Go version:	go1.9.2
  Git commit:	c97c6d6
  Built:	Wed Dec 27 20:09:53 2017
  OS/Arch:	linux/amd64
  Experimental:	false

    本人使用的是ubuntu18, 已經安裝了docker, 之后要有nginx鏡像, 我使用的nginx鏡像是nginx:1.14

    前后端分離, 前端單獨部署在nginx中, 但是安裝nginx, 看了教程, 感覺要裝很多東西, 步驟很多...由于服務器上裝了docker, 所以我們就用nginx容器了, 服務器上不再手動安裝nginx.

1 創建名為nginx的volume

    用docker的卷,將nginx容器的目錄掛載到host機器的本地文件中, 這樣我們只需要修改host中對應目錄的文件即可, 方便管理.

    List-1.1 使用docker volume create 卷名創建數據卷

xx@xx-ubuntu:/opt/software/nginx/html$ docker volume create nginx
xx@xx-ubuntu:/opt/software/nginx/html$ docker volume ls
DRIVER              VOLUME NAME
local               nginx

     如下的List-1.2所示, 使用docker volume inspect nginx命令查看剛才創建的數據卷nginx, 可以看到這個數據卷對應到本地的/var/lib/docker/volumes/nginx/_data目錄, 后面會去查看這個目錄, 下面的內容中會涉及

    List-1.2 

xx@xx-ubuntu:/opt/software/nginx/html$ docker volume inspect nginx 
[
    {
        "CreatedAt": "2018-12-18T20:18:41+08:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/nginx/_data",
        "Name": "nginx",
        "Options": {},
        "Scope": "local"
    }
]

2 創建容器

    執行如下List-2.1中的命令, 這里值得注意的是"-v  nginx:/etc/nginx "這個參數, 這個的意思是將數據卷nginx掛載到容器的/etc/nginx目錄

    List-2.1 

xx@xx-ubuntu:/opt/software/nginx/conf$ docker run -d -v nginx:/etc/nginx -p 80:80 --name nginx nginx:1.14

    查看數據卷nginx對應的本地目錄(根據List-1.2我們得知數據卷nginx對應的本地目錄), 如下List-2.2所示, 多出來很多東西, 這些文件都是nginx的. 我們來查看nginx.conf這個文件, 如List2.3所示, 可知關鍵是/etc/nginx/conf.d目錄下的.conf文件, 默認有個default.conf, 我們拷貝default.conf, 重命名為hello.conf, 內容如下List-2.5所示

    List-2.2 要用root去查看

root@xx-ubuntu:/var/lib/docker/volumes/nginx/_data# ll
total 48
drwxr-xr-x 3 root root 4096 12月 18 20:18 ./
drwxr-xr-x 3 root root 4096 12月 18 20:18 ../
drwxr-xr-x 2 root root 4096 12月 18 20:21 conf.d/
-rw-r--r-- 1 root root 1007 11月  6 21:28 fastcgi_params
-rw-r--r-- 1 root root 2837 11月  6 21:28 koi-utf
-rw-r--r-- 1 root root 2223 11月  6 21:28 koi-win
-rw-r--r-- 1 root root 5170 11月  6 21:28 mime.types
lrwxrwxrwx 1 root root   22 11月  6 21:28 modules -> /usr/lib/nginx/modules
-rw-r--r-- 1 root root  643 11月  6 21:28 nginx.conf
-rw-r--r-- 1 root root  636 11月  6 21:28 scgi_params
-rw-r--r-- 1 root root  664 11月  6 21:28 uwsgi_params
-rw-r--r-- 1 root root 3610 11月  6 21:28 win-utf

    List-2.3 用root用戶查看

root@xx-ubuntu:/var/lib/docker/volumes/nginx/_data# more nginx.conf 
...

    #包含/etc/nginx/conf.d目錄下所有.conf結尾的文件
    include /etc/nginx/conf.d/*.conf;
}

    List-2.4 用root用戶去操作

root@xx-ubuntu:/var/lib/docker/volumes/nginx/_data/conf.d# ll
total 16
drwxr-xr-x 2 root root 4096 12月 18 20:21 ./
drwxr-xr-x 3 root root 4096 12月 18 20:18 ../
-rw-r--r-- 1 root root 1093 11月  6 21:28 default.conf
-rw-r--r-- 1 root root 1087 12月 18 20:21 hello.conf

    List-2.5 其它不必要的內容被我刪除了

root@xx-ubuntu:/var/lib/docker/volumes/nginx/_data/conf.d# more hello.conf 
server {
    #listen的值修改為自己要的端口 
    listen       3002;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        #root的值修改為自己的就可以了,表示這個目錄下有我們要訪問的靜態資源
        root   /opt/html;
        index  index.html index.htm;
    }

}

    上述的完成后, 我們在本地目錄下建個index.html, 如下List-2.6所示

    List-2.6

xx@xx-ubuntu:/opt/software/nginx/html$ ll
total 12
drwxr-xr-x 2 mjduan mjduan 4096 12月 18 20:24 ./
drwxr-xr-x 4 mjduan mjduan 4096 12月 18 20:22 ../
-rw-r--r-- 1 mjduan mjduan  171 12月 18 20:24 index.html

    之后我們刪除之前創建的容器nginx, 再創建一個容器, 如下List-2.7所示:

    List-2.7

xx@xx-ubuntu:/opt/software/nginx/conf$ docker rm nginx 
nginx
xx@xx-ubuntu:/opt/software/nginx/conf$ docker run -d -v nginx:/etc/nginx -v /opt/software/nginx/html:/opt/html -p 3002:3002 -p 80:80 --name nginx nginx:1.14

    說明: List-2.7中, "-v nginx:/etc/nginx"是將數據卷nginx掛載到容器的/etc/nginx目錄, "-v /opt/software/nginx/html:/opt/html"是將本地的/opt/software/nginx/html目錄掛載到容器的/opt/html目錄, 由于我們需要3002端口(List-2.5中設置的),所以需要映射出來.

    之后瀏覽器中訪問3002端口, 如下圖2.1所示:

                                                      Docker nginx容器中怎么部署靜態文件

                                                                          圖2.1 看到的是List-2.6中index.html

感謝各位的閱讀,以上就是“Docker nginx容器中怎么部署靜態文件”的內容了,經過本文的學習后,相信大家對Docker nginx容器中怎么部署靜態文件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

呼和浩特市| 湖口县| 平远县| 景东| 赫章县| 抚顺县| 叶城县| 哈巴河县| 酒泉市| 兴仁县| 慈溪市| 嘉义县| 延庆县| 平塘县| 宜阳县| 海口市| 陵川县| 岳西县| 麻阳| 长春市| 连江县| 宜州市| 米林县| 静宁县| 贺兰县| 丽江市| 民勤县| 罗甸县| 马尔康县| 彭泽县| 大同市| 靖边县| 曲水县| 南阳市| 日喀则市| 新化县| 阳城县| 遂溪县| 基隆市| 鹤山市| 古蔺县|