Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Cara menggunakan docker untuk memasang perkhidmatan web yang disediakan oleh nginx

Cara menggunakan docker untuk memasang perkhidmatan web yang disediakan oleh nginx

PHPz
PHPzke hadapan
2023-05-24 23:38:171450semak imbas

1. Tarik imej

Arahan tarik docker digunakan untuk menarik imej aplikasi, dan perintah docker pull nginx digunakan untuk menarik versi terkini imej nginx. Berikut ialah hasil tindak balas proses penarikan imej:

# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
c229119241af: Pull complete 
2215908dc0a2: Pull complete 
08c3cb2073f1: Pull complete 
18f38162c0ce: Pull complete 
10e2168f148a: Pull complete 
c4ffe9532b5f: Pull complete 
Digest: sha256:2275af0f20d71b293916f1958f8497f987b8d8fd8113df54635f2a5915002bf1
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

Daripada di atas kita dapat melihat bahawa imej nginx ditarik dari URL docker.io.

Gunakan perintah docker images untuk menyemak fail imej yang dimuat turun dalam sistem pengendalian semasa.

# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
nginx         latest    12766a6745ee   33 hours ago   142MB
hello-world   latest    feb5d9fea6a5   6 months ago   13.3kB
  • REPOSITORY gudang imej dan nama imej Jika gudang imej tidak dipaparkan, lalainya ialah docker.io

  • TAG versi imej atau. Teg pencapaian, terbaharu mewakili versi terkini

  • ID IMEJ Pengecam unik imej

  • DICIPTA Masa imej ini dicipta

  • SAIZ mewakili saiz fail imej

2. Jalankan imej untuk memulakan bekas

Mulakan bekas melalui Perintah docker run, dan nama bekas ialah nginx-zimug .

# docker run -d --name nginx-zimug -p  80:80  nginx
81bb1211144bc0991a789f860458548643c60b5459466c14d0604be9a4ccbfd7
  • -d bermaksud bekas sedang berjalan di latar belakang

  • --nameBeri nama bekas itu

  • -pPemetaan port, dalam format 宿主机端口:容器端口, maksud di atas adalah untuk memetakan port 80 dalam bekas ke port 80 hos untuk menyediakan perkhidmatan akses luaran. Medan terakhir ialah nama imej

Apabila penyemak imbas mengakses port 80 hos melalui protokol HTTP, nombor port boleh ditinggalkan. Keputusan capaian yang diperoleh adalah seperti berikut, menunjukkan perkhidmatan nginx kami telah berjaya dimulakan.

Cara menggunakan docker untuk memasang perkhidmatan web yang disediakan oleh nginx

Anda boleh melihat bekas yang sedang berjalan melalui docker ps, seperti yang ditunjukkan di bawah:

CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                               NAMES
81bb1211144b   nginx     "/docker-entrypoint.…"   11 minutes ago   Up 11 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   nginx-zimug

3. Pemetaan fail

Mula-mula buat jelas Apa yang penting ialah kandungan fail dalam bekas boleh diubah suai, tetapi setelah bekas dimulakan semula, semua pengubahsuaian pada fail data dan fail konfigurasi yang ditulis pada bekas akan hilang . Oleh itu, untuk menyimpan status larian dan hasil pelaksanaan bekas, kami perlu memetakan beberapa fail data penting, fail log dan fail konfigurasi dalam bekas kepada hos.
Ambil nginx sebagai contoh nginx mempunyai tiga direktori fail penting:

  容器中路径 宿主机中自定义映射路径
存储网站网页的目录 /usr/share/nginx/html /root/nginx/html
nginx配置文件目录 /etc/nginx/nginx.conf /root/nginx/conf/nginx.conf
日志目录 /var/log/nginx /root/nginx/logs

Buat direktori fail baharu dalam mesin hos

mkdir -p  /root/nginx/logs  /root/nginx/html  /root/nginx/conf;

Letakkan bekas Salin fail ke dalam hos
Salin fail konfigurasi nginx ke hos

docker cp nginx-zimug:/etc/nginx/nginx.conf /root/nginx/conf;

Letakkan fail html simulasi ke dalam direktori html
fail berikut disimpan sebagai index.html dan diletakkan dalam direktori /root/nginx/html hos Kerana hubungan pemetaan, ia sebenarnya diletakkan dalam direktori /usr/share/nginx/html bekas.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>使用docker搭建nginx web服务</title>
</head>
<body>
    <h2>访问成功</h2>
    <p>厉害了!</p>
</body>
</html>

4 Mulakan perkhidmatan bekas sekali lagi

Parameter -v menyatakan hubungan pemetaan antara fail hos dan fail dalam bekas, dan formatnya ialah -v 宿主机目录:容器文件系统目录. Mulakan bekas baharu. Nama bekas ialah nginx-prod

docker run -d -p 80:80 \
--name nginx-prod \
-v /root/nginx/html:/usr/share/nginx/html \
-v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /root/nginx/logs:/var/log/nginx  nginx

Sebelum memulakan bekas baharu, padamkan bekas nginx-zimug lama. Jika bekas lama tidak dipadamkan, port kontena baharu akan bercanggah dengan port kontena lama. Gunakan arahan berikut untuk memadamkan bekas:

docker stop nginx-zimug;
docker rm nginx-zimug;

Laksanakan perintah docker run di atas untuk memulakan bekas baharu. Selepas permulaan, akses port 80 hos melalui penyemak imbas Hasil tindak balas adalah seperti berikut, yang membuktikan bahawa nginx menyediakan perkhidmatan web secara normal.

Cara menggunakan docker untuk memasang perkhidmatan web yang disediakan oleh nginx

Pada masa yang sama, anda boleh mengubah suai konfigurasi nginx pada mesin hos dan melihat fail log masa jalan. Menukar fail konfigurasi akan menjejaskan perkhidmatan nginx yang berjalan dalam bekas kerana terdapat hubungan pemetaan antara hos dan fail konfigurasi dalam bekas.

Cara menggunakan docker untuk memasang perkhidmatan web yang disediakan oleh nginx

Atas ialah kandungan terperinci Cara menggunakan docker untuk memasang perkhidmatan web yang disediakan oleh nginx. 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