首頁 運維 Nginx docker nginx如何部署多個項目

docker nginx如何部署多個項目

May 14, 2023 pm 04:16 PM
docker nginx

前提條件

1、本地電腦和伺服器已安裝docker,下載方法自行Google吧

2、在docker hub 上已有帳號, 註冊傳送閘:

3、需要對docker 已有所熟悉,並且了解dockerfile裡的一些指令

使用dockerfile 製作映像

假如本機有一個叫web的項目

在web根目錄下新建dockerfile,寫入以下內容

from nginx:1.13.6-alpine
label maintainer="lilywang <lilywang.cd@gmail.com>"

arg tz="asia/shanghai"

env tz ${tz}

run apk upgrade --update \
 && apk add bash tzdata \
 && ln -sf /usr/share/zoneinfo/${tz} /etc/localtime \
 && echo ${tz} > /etc/timezone \
 && rm -rf /var/cache/apk/*

copy dist /usr/share/nginx/html 

cmd ["nginx", "-g", "daemon off;"]
登入後複製

此時web裡的檔案結構為:

.
|____dockerfile
|____dist // 为项目打包后的文件
| |____index.html
登入後複製

接下來在bash 進入到web目錄

cd web

docker build -t lilywang711/web .
登入後複製

看到印刷訊息中有如下就說明鏡像已經建構成功了

successfully built 4c050212ce0d
successfully tagged lilywang711/web: latest

也可以輸入docker images 查看目前的映像列表

接下來輸入指令 docker push lilywang711/web 就可將剛剛建置好的映像檔上傳到docker hub裡面,方便等會兒我們在服務端拉取鏡像

如果是有多個專案需要部署,那就按照以上步驟重複來就行,有多少個項目就建置多少個映像

服務端部署

ssh 登陸伺服器,在目前使用者目錄下(我是root目錄),新建nginx 資料夾,並在裡面新建nginx.conf
在nginx.conf 中寫入以下內容

user nginx;
worker_processes 2;
error_log /var/log/nginx/error.log warn;
pid  /var/run/nginx.pid;
events {
 use epoll;
 worker_connections 2048;
}
http {
 include /etc/nginx/mime.types;
 # include /etc/nginx/conf.d/*.conf;
 root /usr/share/nginx/html;
 index index.html index.htm;
 server {
  listen 80;
  server_name a.yourdomain.cn;
  location / {
  }
 }
 server {
  listen 80;
  server_name b.yourdomain.cn;
  location / {
   proxy_pass http://your_vps_ip:81;
  }
 }
 server {
  listen 80;
  server_name localhost;
  location / {
  }
 }
}
登入後複製

接下來

啟動docker systemctl start docker

#拉取剛剛製作並上傳好的兩個映像

docker pull lilywang711/web

docker pull lilywang711/web1

輸入以下指令啟動容器

docker run -itd --name web -p 80:80 -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf lilywang711/web
// -i 交互模式运行容器, -t 为容器分配一个伪终端,-d 后台运行容器,可直接连写 -itd
// --name 是给该容器起个叫web的名字,方便辨识
// -p 是绑定端口 本机端口80:容器端口80
// -v 声明volume,意思是将容器中的/etc/nginx/nginx.conf 挂载到 宿主机里的/root/nginx/nginx.conf,以后配置nginx只需要修改/root/nginx/nginx.conf就行了
登入後複製

另外一個lilywang711/web1映像也同理,修改下埠和名字就好了

docker run -itd --name web1 -p 81: 80 -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf lilywang711/web1

此時輸入 docker ps 就可以看到這兩個容器已經跑起來了

docker化專案並在nginx部署就已經完成了

在瀏覽器輸入http://a.yourdomain.cn 和http://b .yourdomain.cn 就可以看到效果了,分別對應本地電腦中的web 和web1 項目

docker nginx如何部署多个项目

docker nginx如何部署多个项目

以上是docker nginx如何部署多個項目的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Pi Node教學:什麼是Pi節點?如何安裝和設定Pi Node? Pi Node教學:什麼是Pi節點?如何安裝和設定Pi Node? Mar 05, 2025 pm 05:57 PM

Pi Node教學:什麼是Pi節點?如何安裝和設定Pi Node?

PHP 微服務容器化的敏捷開發與維 PHP 微服務容器化的敏捷開發與維 May 08, 2024 pm 02:21 PM

PHP 微服務容器化的敏捷開發與維

deepseek怎麼安裝 deepseek怎麼安裝 Feb 19, 2025 pm 05:48 PM

deepseek怎麼安裝

PHP 分散式系統架構與實務 PHP 分散式系統架構與實務 May 04, 2024 am 10:33 AM

PHP 分散式系統架構與實務

如何使用 PHP CI/CD 實現快速迭代? 如何使用 PHP CI/CD 實現快速迭代? May 08, 2024 pm 10:15 PM

如何使用 PHP CI/CD 實現快速迭代?

如何透過容器化來優化 Java 函數的效能? 如何透過容器化來優化 Java 函數的效能? Apr 29, 2024 pm 03:09 PM

如何透過容器化來優化 Java 函數的效能?

使用Docker Container部署JavaEE應用程式 使用Docker Container部署JavaEE應用程式 Jun 05, 2024 pm 08:29 PM

使用Docker Container部署JavaEE應用程式

如何使用 PHP 部署和維護網站 如何使用 PHP 部署和維護網站 May 03, 2024 am 08:54 AM

如何使用 PHP 部署和維護網站

See all articles