最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Docker系列之九巧用Nginx

2023-03-11 14:30 作者:君匡  | 我要投稿

前言

Nginx是個(gè)很棒的反向代理服務(wù)工具,之前我都是直接安裝到服務(wù)器上去,過程繁瑣也許不是難以接受,但是有更簡(jiǎn)單地Docker鏡像服務(wù),我自然沒必要再次舍近求遠(yuǎn)。

一些配置是參考自我以前的文章Docker系列一安裝DockerHexo歷險(xiǎn)記之十Nginx端口轉(zhuǎn)發(fā)

安裝Nginx

拉取鏡像

訪問鏈接https://registry.hub.docker.com/_/nginx/tags來尋找鏡像的穩(wěn)定版本。

現(xiàn)在查看后發(fā)現(xiàn)穩(wěn)定版本為1.22.1,于是決定拉取這個(gè)版本的鏡像。

docker?pull?nginx:1.22.1

創(chuàng)建外部掛載目錄

先創(chuàng)建存儲(chǔ)目錄,保存容器中的數(shù)據(jù)和配置信息。

#?自定義新建的目錄名
export?Nginx=nginx

#?指定配置目錄、數(shù)據(jù)目錄
mkdir?-p?/home/keen/docker/$Nginx/conf
mkdir?-p?/home/keen/docker/$Nginx/log
mkdir?-p?/home/keen/docker/$Nginx/html

#?賦予權(quán)限
chmod?-R?755?/home/keen/docker/$Nginx/conf

創(chuàng)建臨時(shí)容器

如果現(xiàn)在直接運(yùn)行正式容器,那么在映射文件夾的時(shí)候,就會(huì)導(dǎo)致正式容器中的文件夾也全是空的。

所以必須要先創(chuàng)建一個(gè)臨時(shí)容器,將一些默認(rèn)的配置文件拷貝到宿主機(jī)中,刪除臨時(shí)容器后,重新創(chuàng)建一個(gè)完整的正式容器。

docker?run?\
????-p?80:80?\
????--name?temp?\
????-d?\
????nginx:1.22.1

接著進(jìn)入容器,找到要復(fù)制的東西。

#?進(jìn)入容器
docker?exec?-it?temp??/bin/bash

將臨時(shí)容器內(nèi)的文件復(fù)制到掛載路徑中。

  1. conf配置文件可以選擇默認(rèn)的配置文件,也可以將用過的歷史配置文件復(fù)制進(jìn)去,在Hexo歷險(xiǎn)記之十Nginx端口轉(zhuǎn)發(fā)文章中有一些可參考的配置,有興趣的可以去了解。

    :?將容器nginx.conf文件復(fù)制到宿主機(jī)
    docker?cp?nginx:/etc/nginx/nginx.conf?/home/keen/docker/$Nginx/conf
    :?將容器conf.d文件夾下內(nèi)容復(fù)制到宿主機(jī)
    docker?cp?nginx:/etc/nginx/conf.d?/home/keen/docker/$Nginx/conf/conf.d

    :?或者是從本地用scp命令遷移歷史配置文件到服務(wù)器
    scp??/Users/keen/Downloads/nginx/nginx.conf??root@39.96.12.167:/home/keen/docker/nginx/conf/nginx.conf
    scp??/Users/keen/Downloads/nginx/conf.d/cert4?root@39.96.12.167:/home/keen/docker/nginx/conf/conf.d/cert4

    注意!如果是嵌套類型的配置文件,那么在主配置文件中要寫的是include /etc/nginx/conf.d/*.conf;。

  2. html文件,直接將默認(rèn)的文件復(fù)制過去就可以了,主要就是500之類的提示頁(yè)面。

    docker?cp?temp:/usr/share/nginx/html/?/home/keen/docker/$Nginx/html/?
  1. log文件夾初始是空的并沒有影響。

現(xiàn)在可以銷毀并刪除臨時(shí)容器。

export?Chevereto=temp
docker?stop?$Chevereto?&&?docker?rm?$Chevereto

啟動(dòng)容器

docker?run?\
????--name?nginx1.22.1?\
????-p?80:80?\
????-d?\
????--restart=always?\
????--privileged=true?\
?-v?/home/keen/docker/$Nginx/conf/nginx.conf:/etc/nginx/nginx.conf?\
?-v?/home/keen/docker/$Nginx/conf/conf.d:/etc/nginx/conf.d?\
?-v?/home/keen/docker/$Nginx/log:/var/log/nginx?\
?-v?/home/keen/docker/$Nginx/html:/usr/share/nginx/html?\
?-v?/etc/localtime:/etc/localtime:ro?\
????nginx:1.22.1

  • --name nginx1.22.1:容器名字為nginx1.22.1

  • -p 80:80 :映射宿主機(jī)的 80 端口到容器服務(wù)的 80 端口

  • -d:后臺(tái)運(yùn)行

  • --restart=always:Docker 重啟的時(shí)候容器也會(huì)重啟

  • –privileged=true:容器內(nèi)的root擁有真正root權(quán)限,否則容器內(nèi)root只是外部普通用戶權(quán)限

  • -v :?從上到下分別是映射配置文件、映射配置文件目錄、映射日志文件目錄、映射資源目錄以及映射時(shí)間

  • 使用鏡像nginx的1.22.1版本

修改容器

如果在后面要重新映射端口,有兩種方式,一個(gè)是修改映射的端口,一個(gè)是創(chuàng)建新的容器。

具體的可以參考我的其他文章:Hexo歷險(xiǎn)記之十Nginx端口轉(zhuǎn)發(fā)。

感謝

感謝現(xiàn)在的好奇,為了能成為更好的自己。

  1. Docker 安裝 Nginx 容器 (完整詳細(xì)版)





Docker系列之九巧用Nginx的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
大庆市| 图片| 格尔木市| 仙居县| 太湖县| 抚顺市| 平顺县| 中宁县| 增城市| 上杭县| 高阳县| 惠东县| 鹤岗市| 滕州市| 苍溪县| 格尔木市| 民丰县| 昌江| 和平区| 绥中县| 虎林市| 玛多县| 崇义县| 梓潼县| 苗栗县| 东丰县| 沧州市| 阿鲁科尔沁旗| 阿拉善右旗| 东乌珠穆沁旗| 准格尔旗| 息烽县| 泸溪县| 象山县| 平凉市| 靖安县| 朝阳区| 武城县| 沁源县| 兴安县| 三河市|