Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana docker nginx menggunakan berbilang projek

Bagaimana docker nginx menggunakan berbilang projek

王林
王林ke hadapan
2023-05-14 16:16:121269semak imbas

Prasyarat

1 Docker telah dipasang pada komputer dan pelayan tempatan Anda boleh memuat turunnya di Google

2 hab, daftar untuk pintu penghantaran:

3 Anda perlu biasa dengan docker dan memahami beberapa arahan dalam dockerfile

Gunakan dockerfile untuk membuat imej

Jika mesin ini Terdapat projek yang dipanggil web

Buat fail docker baharu dalam direktori akar web dan tulis kandungan berikut

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;"]

Pada masa ini, struktur fail dalam web ialah:

.
|____dockerfile
|____dist // 为项目打包后的文件
| |____index.html

Seterusnya, masukkan direktori web dalam bash

cd web

docker build -t lilywang711/web .

Jika anda melihat perkara berikut dalam maklumat cetakan, ini bermakna imej telah berjaya dibina

berjaya membina 4c050212ce0d
berjaya menandakan lilywang711/web: terkini

Anda juga boleh memasukkan docker images untuk melihat senarai imej semasa

Kemudian masukkan arahan docker push lilywang711/web untuk memuat naik imej yang baru anda bina ke hab docker untuk memudahkan menunggu Kami akan menarik imej pada pelayan kemudian

Jika terdapat beberapa projek yang perlu digunakan, hanya ulangi langkah di atas dan bina seberapa banyak imej. kerana terdapat projek

Penyerahan sisi pelayan

Log masuk Ssh ke pelayan, buat folder nginx baharu dalam direktori pengguna semasa (saya adalah direktori akar), dan buat nginx.conf baharu di dalamnya
Tulis dalam nginx.conf Masukkan kandungan berikut

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 / {
  }
 }
}

Seterusnya

Mulakan docker systemctl start docker

Tarik dua imej anda baru sahaja membuat dan memuat naik

docker pull lilywang711/web

docker pull lilywang711/web1

Masukkan arahan berikut untuk memulakan bekas

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就行了

Begitu juga dengan yang lain imej lilywang711/web1, cuma tukar port dan nama

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

Pada ketika ini masukkan docker ps dan anda dapat melihat bahawa kedua-dua bekas sudah berjalan

Projek dockerized dan penempatan pada nginx telah selesai

Masukkan http://a.yourdomain.cn dan http://b.yourdomain.cn dalam penyemak imbas untuk melihat kesan, yang sepadan dengan projek web dan web1 dalam komputer tempatan masing-masing

docker nginx如何部署多个项目

docker nginx如何部署多个项目

Atas ialah kandungan terperinci Bagaimana docker nginx menggunakan berbilang projek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam