最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker+Nginx部署前端項(xiàng)目的詳細(xì)過(guò)程記錄

 更新時(shí)間:2022年10月10日 11:39:21   作者:程序媛小y  
docker的出現(xiàn)解決了我們很多問(wèn)題,讓我們避免陷入各種依賴安裝的痛苦中,下面這篇文章主要給大家介紹了關(guān)于docker+Nginx部署前端項(xiàng)目的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

相關(guān)配置安裝

安裝Docker

yum install docker

啟動(dòng)服務(wù) start docker

systemctl start docker

Docker中拉取nginx鏡像

docker pull nginx

創(chuàng)建配置文件

我們需要在根目錄下創(chuàng)建Dockerfile文件和default.conf文件。

其中default.conf文件的名稱是什么無(wú)所謂,只要在配置文件中注意使用相同名稱即可。

Dokcerfile文件具體內(nèi)容如下:

FROM nginx:latest

# 將項(xiàng)目根目錄下dist文件夾下的所有文件復(fù)制到鏡像中 /usr/share/nginx/html/ 目錄下
COPY dist/ /usr/share/nginx/html/
COPY default.conf /etc/nginx/conf.d/default.conf
  • FROM nginx:latest: 命令的意思該鏡像是基于 nginx:latest 鏡像而構(gòu)建的。
  • COPY dist/ /usr/share/nginx/html/ :命令的意思是將項(xiàng)目根目錄下 dist 文件夾下的所有文件復(fù)制到鏡像中 /usr/share/nginx/html/ 目錄下。

這里鏡像中的目錄我們不要?jiǎng)?,但需要保證我們項(xiàng)目的打包目錄是dist/,或者自定義到你打包的目錄下。

  • COPY default.conf /etc/nginx/conf.d/default.conf 命令的意思是將 Nginx 目錄下的 default.conf 復(fù)制到 etc/nginx/conf.d/default.conf,用本地的 default.conf 配置來(lái)替換 Nginx 鏡像里的默認(rèn)配置。

這里鏡像中的目錄我們不要?jiǎng)?,但需要保證我們編寫(xiě)的文件名也為default.conf,或者與你自己寫(xiě)的文件名對(duì)應(yīng)

default.conf

下面的配置直接照抄就好,特別注意,監(jiān)聽(tīng)的端口號(hào)并不需要?jiǎng)?,這里的80端口指的是容器的端口,最后我們會(huì)將容器的端口映射到我們宿主服務(wù)器的端口,比如映射到8888端口。

8888:80

然后 注意修改為自己的服務(wù)器IP地址

完整配置:

upstream my_server{
  server 121.41.4.33:3000; # 后端server 地址
  keepalive 2000;
}

server {
    listen       80; #這里的端口號(hào)不要?jiǎng)樱?0端口指的是容器的端口,最后我們會(huì)將容器的端口映射到我們宿主服務(wù)器的端口,比如映射到8888端口
    server_name  111.20.xxx.xxx; # 修改為docker服務(wù)宿主機(jī)的ip/域名
    
    #charset koi8-r;
    access_log  /var/log/nginx/host.access.log  main;
    error_log  /var/log/nginx/error.log  error;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html =404;
    }
     #  這里就是和vue本地代理的意思一樣,已a(bǔ)pi開(kāi)頭的路徑都代理到本機(jī)的3000端口
    location /api/ {
        proxy_pass http://my_server/api;
        proxy_set_header Host $host:$server_port;
        rewrite ^/api/(.*) /$1 break;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

項(xiàng)目打包與部署

將打包項(xiàng)目,把dist文件夾和剛剛創(chuàng)建的Dockerfile,default.conf放到同一目錄,并上傳到服務(wù)器。

比如,我的代碼存放位置是/home/test目錄。

然后需要構(gòu)建鏡像

docker build -t test .

docker build -t我們并不需要?jiǎng)樱?/p>

后面的test是我們構(gòu)建的鏡像的名稱,.代表需要進(jìn)行構(gòu)建的代碼的存放位置,這里是.是因?yàn)槲耶?dāng)期所在目錄就是/home/test,并且我的項(xiàng)目的三個(gè)文件就位于/home/test目錄下。

如果我們此時(shí)位于其他目錄,當(dāng)前目錄下沒(méi)有要進(jìn)行鏡像打包的文件,那就需要更改路徑。

比如:

dokcer build -t test /home/test

然后使用dokcer images可以查看我們已經(jīng)存在的鏡像

鏡像構(gòu)建好后,我們就可以拿這個(gè)鏡像啟動(dòng)一個(gè)容器

docker run -d -p 8888:80 --name test-image test
  • -d 后臺(tái)方式運(yùn)行
  • -p 8888:80 端口映射,將宿主的8888端口映射到容器的80端口
  • –name 容器名 鏡像名

然后我們可以使用docker ps查看當(dāng)前正在運(yùn)行的容器

并且使用IP地址和端口號(hào)訪問(wèn)當(dāng)前的項(xiàng)目

注意

上面我們進(jìn)行了端口映射,那就需要在服務(wù)器中開(kāi)啟要使用的端口,

我們可以在云服務(wù)器中的安全組進(jìn)行設(shè)置。

或者使用命令設(shè)置

查看已開(kāi)放端口命令:firewall-cmd --list-all

  • 查看防火墻狀態(tài):active (running) 即是開(kāi)啟狀態(tài)

systemctl status firewalld

  • 查看已開(kāi)發(fā)端口命令:firewall-cmd --list-all
  • 新增防火墻開(kāi)放端口:

firewall-cmd --zone=public --add-port=3306/tcp --permanent

  • 開(kāi)放端口后需要重新加載防火墻:

firewall-cmd --reload

一些相關(guān)指令

如果我們不再需要這個(gè)容器和鏡像,

首先需要先停止這個(gè)容器,然后在移出容器和鏡像。

首先拿docker ps找到指定容器的ID,

使用docker stop [ID] 停止容器

docker rm [ID] 移除容器

然后拿docker images查看已存在的鏡像ID,

使用docker rmi [ID] 移除鏡像

可能我們的docker沒(méi)有設(shè)置開(kāi)機(jī)啟動(dòng):

systemctl start docker # 啟動(dòng)docker
systemctl status docker # 查看docker的運(yùn)行狀態(tài)

一個(gè)相關(guān)報(bào)錯(cuò):

關(guān)于:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

關(guān)于今天使用Docker時(shí)報(bào)了以下錯(cuò)誤:

[centos@localhost ~]$ docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

分析報(bào)錯(cuò)的原因:

報(bào)錯(cuò)的翻譯:無(wú)法連接到 unix:///var/run/docker.sock 上的 Docker 守護(hù)程序。 docker 守護(hù)進(jìn)程是否正在運(yùn)行?

通過(guò)翻譯完報(bào)錯(cuò),可以看出報(bào)錯(cuò)的原因是因?yàn)閐ocker的服務(wù)沒(méi)啟動(dòng)

解決方法:

1、首先啟動(dòng)docker服務(wù)

[root@localhost /]# systemctl start docker 

2、查看docker服務(wù)當(dāng)前狀態(tài)

[root@localhost /]# systemctl status docker

就此,以上的報(bào)錯(cuò)就成功解決!

開(kāi)機(jī)自啟動(dòng)Docker

為了避免以上的問(wèn)題重復(fù)出現(xiàn),可以設(shè)置docker開(kāi)啟自啟動(dòng)!

[root@localhost /]# systemctl enable docker

后續(xù),我們將使用docker和github actions實(shí)現(xiàn)自動(dòng)化部署。

總結(jié)

到此這篇關(guān)于docker+Nginx部署前端項(xiàng)目的文章就介紹到這了,更多相關(guān)docker+Nginx部署前端項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker自建GitLab倉(cāng)庫(kù)的實(shí)現(xiàn)

    docker自建GitLab倉(cāng)庫(kù)的實(shí)現(xiàn)

    Harbor是一個(gè)用于存儲(chǔ)和分發(fā)Docker鏡像的企業(yè)級(jí)Registry服務(wù)器,本文主要介紹了docker自建GitLab倉(cāng)庫(kù)的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07
  • docker swarm 集群故障與異常詳解

    docker swarm 集群故障與異常詳解

    這篇文章主要介紹了docker swarm 集群故障與異常詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • docker之docker-machine用法詳解

    docker之docker-machine用法詳解

    這篇文章主要介紹了docker之docker-machine用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 如何修改Docke上傳/下載并發(fā)線程數(shù)來(lái)解決docker: unexpected EOF.錯(cuò)誤問(wèn)題

    如何修改Docke上傳/下載并發(fā)線程數(shù)來(lái)解決docker: unexpected EOF.錯(cuò)誤問(wèn)題

    下載或上傳鏡像時(shí),有可能因?yàn)榫W(wǎng)絡(luò)問(wèn)題導(dǎo)致報(bào)出docker: unexpected EOF.的錯(cuò)誤,這時(shí)候可以考慮通過(guò)修改上傳/下載并發(fā)線程數(shù)來(lái)解決,本文給大家分享兩種方法幫助大家解決,需要的朋友一起看看吧
    2023-03-03
  • Docker網(wǎng)絡(luò)原理及自定義網(wǎng)絡(luò)詳細(xì)解析

    Docker網(wǎng)絡(luò)原理及自定義網(wǎng)絡(luò)詳細(xì)解析

    一般使用自定義網(wǎng)絡(luò),自定義網(wǎng)絡(luò)使用network創(chuàng)建,創(chuàng)建時(shí)可以指定子網(wǎng)網(wǎng)段及網(wǎng)關(guān)等信息,在創(chuàng)建并啟動(dòng)容器時(shí)指定使用的網(wǎng)絡(luò),今天通過(guò)本文給大家介紹Docker網(wǎng)絡(luò)原理及自定義網(wǎng)絡(luò)的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2021-05-05
  • docker安裝minio及實(shí)現(xiàn)文件上傳、刪除、下載方式

    docker安裝minio及實(shí)現(xiàn)文件上傳、刪除、下載方式

    這篇文章主要介紹了docker安裝minio及實(shí)現(xiàn)文件上傳、刪除、下載方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • docker進(jìn)行RocketMq集群部署方式

    docker進(jìn)行RocketMq集群部署方式

    這篇文章主要介紹了docker進(jìn)行RocketMq集群部署方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Docker中的數(shù)據(jù)存放位置

    Docker中的數(shù)據(jù)存放位置

    這篇文章主要介紹了Docker中的數(shù)據(jù)存放位置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • docker查看運(yùn)行容器日志的步驟

    docker查看運(yùn)行容器日志的步驟

    本文主要介紹了docker查看運(yùn)行容器日志的步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • docker容器中切換用戶,提示權(quán)限不足的解決

    docker容器中切換用戶,提示權(quán)限不足的解決

    這篇文章主要介紹了docker容器中切換用戶,提示權(quán)限不足的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11

最新評(píng)論

铜鼓县| 银川市| 同德县| 安吉县| 万全县| 龙南县| 阿拉善右旗| 秦皇岛市| 孙吴县| 九龙坡区| 平陆县| 阿拉善右旗| 揭西县| 新余市| 海丰县| 田阳县| 吴忠市| 厦门市| 黑龙江省| 洛南县| 丽水市| 阿拉善左旗| 新宁县| 泽州县| 富民县| 肇庆市| 隆化县| 沙雅县| 上犹县| 江源县| 区。| 龙江县| 黄冈市| 太康县| 陆良县| 远安县| 昔阳县| 新密市| 平邑县| 盐山县| 海盐县|