


Tujuan fail pemalam:
-
Fail tidak terikat dengan fail imej docker Ia boleh diubah suai dan bekas boleh dimulakan semula digunakan dan tidak akan dipulihkan oleh imej
Fail seperti log dan maklumat lain yang direkodkan semasa menjalankan bekas boleh disimpan secara automatik pada storan luaran dan tidak akan hilang akibat dimulakan semula bekas
Terdapat dua cara untuk menjalankan bekas:
perintah larian docker
arahan docker-compose
Kaedah arahan docker run menggunakan parameter -v untuk melekapkan direktori hos luaran ke laluan dalam bekas, tentukannya melalui berbilang parameter -v, dan hanya laluan mutlak boleh digunakan; perintah docker-compose menggunakan Kaedah perkhidmatan adalah mudah untuk menerangkan dengan tepat, perkhidmatan boleh mengandungi berbilang bekas, dan konfigurasi pemasangan laluan luaran juga dikonfigurasikan melalui. Parameter -v. Kelebihannya ialah anda boleh menggunakan laluan relatif, yang tentunya relatif kepada laluan fail docker-compose.yml . Kelebihan lain ialah arahan untuk docker-compose untuk memulakan bekas adalah agak mudah.
Anggap bahawa struktur laluan pembungkusan imej adalah seperti berikut:
├── build.sh ├── docker-compose.yml ├── Dockerfile ├── mynginx.conf ├── nginx-vol │ ├── conf.d │ │ └── mynginx.conf │ ├── html │ │ └── index.html │ └── logs │ ├── access.log │ └── error.log └── run.sh
Fail Docker ialah fail konfigurasi untuk membina imej, dan kandungannya adalah seperti berikut:
FROM nginx LABEL maintainer="xxx" email="<xxx@xxx.com>" app="nginx test" version="v1.0" ENV WEBDIR="/data/web/html" RUN mkdir -p ${WEBDIR} EXPOSE 5180
Berdasarkan nginx, tentukan laluan fail data baharu sebagai /data/web/html, port terdedah ialah 5180.
Kompilasi imej baharu melalui arahan berikut:
docker build -t nginx:test-v1 .
Teg imej yang disusun ialah test-v1, anda boleh melihat imej setempat:
docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx test-v1 d2a0eaea3fac 56 minutes ago 141MB nginx latest 605c77e624dd 9 days ago 141MB
Anda boleh melihat bahawa tag adalah ujian- Imej v1 ialah imej baharu yang baru disusun.
Buat nginx volum luaran nginx-vol dan folder conf.d, log dan html yang berkaitan, dan letakkan kandungan yang sepadan ke dalam direktori yang sepadan. Sebagai contoh, kandungan iindex.html dalam folder html adalah seperti berikut:
<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <title>系统时间</title> <body> <div id="datetime"> <script> setInterval("document.getElementById('datetime').innerHTML=new Date().toLocaleString();",1000); </script> </div> </body> </head> </html>
sebenarnya hanyalah halaman yang memaparkan masa semasa.
Bahagian log kosong Tujuannya adalah untuk menulis log apabila bekas berjalan ke storan luaran Walaupun bekas dihentikan atau imej dimusnahkan, log berjalan masih boleh dikekalkan.
Confid berikut ialah konfigurasi diperibadikan nginx, kandungannya adalah seperti berikut:
server { listen 5180; #listen [::]:5180; server_name localhost; #access_log /var/log/nginx/host.access.log main; location / { root /data/web/html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; # proxy the PHP scripts to Apache listening on 127.0.0.1:80 #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; # deny access to .htaccess files, if Apache's document root # concurs with nginx's one #location ~ /\.ht { # deny all; }
Malah, laluan port dan root diubah suai berdasarkan default.conf lalai nginx, tujuannya ialah untuk menggambarkan nginx Fail konfigurasi juga boleh disimpan secara luaran Jika program anda sendiri boleh mengubah suai fail konfigurasi, maka dengan cara ini, fail konfigurasi boleh diubah suai semasa fail konfigurasi yang diubah suai sebenarnya disimpan pada storan luaran , jadi ia tidak akan berubah pada bila-bila masa Ia hilang apabila bekas berhenti berjalan, dan tidak akan dipulihkan kepada fail di dalam imej.
mod larian docker
Untuk kemudahan, anda boleh menulis arahan larian ke dalam skrip shell, seperti run.sh, kandungannya adalah seperti berikut:
docker run --name nginx-v1 -p 15180:5180 -v /home/project/nginx-test/nginx-vol/logs:/var/log/nginx -v /home/project/nginx-test/nginx-vol/conf.d:/etc/nginx/conf.d -v /home/project/nginx-test/nginx-vol/html:/data/web/html -d nginx:test-v1
Anda boleh lihat bahawa terdapat 3 dalam arahan Setiap -v sepadan dengan lekapan storan luaran yang berbeza dan dipetakan ke direktori berbeza dalam bekas. Port selepas
-p (perhatikan bahawa ia adalah huruf kecil) masing-masing ialah port hos dan port kontena, iaitu, port 15180 hos dipetakan ke port 5180 kontena, supaya port perkhidmatan nginx 5180 yang dimulakan oleh kontena boleh diakses melalui Port 15180 hos dipetakan.
Lihat bekas yang sedang berjalan:
docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cf2275da5130 nginx:test-v1 "/docker-entrypoint.…" 6 seconds ago Up 5 seconds 80/tcp, 0.0.0.0:15180->5180/tcp, :::15180->5180/tcp nginx-v1
Lihat pemetaan terperinci:
docker inspect nginx-v1
akan memaparkan maklumat lengkap, di mana pemetaan pelekap storan lengkap boleh dilihat di bahagian "Mounts" Keadaan .
Lihat terus di bawah nginx-vol/logs pada hos, dan anda boleh melihat bahawa log berjalan nginx dalam bekas ditulis secara automatik ke storan hos luaran.
ls -l nginx-vol/logs/ total 12 -rw-r--r-- 1 root root 1397 1月 8 15:08 access.log -rw-r--r-- 1 root root 4255 1月 8 15:59 error.log
Hentikan bekas:
docker stop nginx-v1
Padamkan bekas:
docker rm nginx-v1
mod docker-compose
Pasang docker-compose
apt-get install docker-compose
Write docker -compose.yml file
version: "3" services: nginx: container_name: mynginx image: nginx:test-v1 ports: - 80:5180 volumes: - ./nginx-vol/html:/data/web/html - ./nginx-vol/logs:/var/log/nginx - ./nginx-vol/conf.d:/etc/nginx/conf.d restart: always
container_name: Nyatakan nama kontena
imej: Imej yang akan digunakan dan label yang sepadan
ports: Port hos dan pemetaan port kontena
Hentikan bekas
docker-compose up -d Creating network "nginxtest_default" with the default driver Creating mynginx ... Creating mynginx ... done
Seperti yang anda lihat, lebih mudah untuk menggunakan docker-compose.
Atas ialah kandungan terperinci Apakah kaedah untuk memasang fail pemalam nginx di bawah Docker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

NGINX meningkatkan prestasi melalui seni bina yang didorong oleh peristiwa dan keupayaan pemprosesan asynchronous, meningkatkan skalabilitas melalui reka bentuk modular dan konfigurasi fleksibel, dan meningkatkan keselamatan melalui penyulitan SSL/TLS dan mengehadkan kadar permintaan.

Nginx sesuai untuk senario penggunaan sumber yang tinggi dan rendah, manakala Apache sesuai untuk senario yang memerlukan konfigurasi kompleks dan sambungan berfungsi. 1.Nginx dikenali untuk mengendalikan sejumlah besar sambungan serentak dengan prestasi tinggi. 2. Apache terkenal dengan kestabilan dan sokongan modul yang kaya. Apabila memilih, ia mesti diputuskan berdasarkan keperluan khusus.

Nginxisessentialformodernwebapplicationsduetoitsrolesasareverseproxy, loadbalancer, andwebserver, menawarkanHighperformanceAndscalability.1) itactsasareverseproxy, enhancingsecurityandperformanceCachingandbalancing.2)

Untuk memastikan keselamatan laman web melalui NGINX, langkah -langkah berikut diperlukan: 1. Buat konfigurasi asas, tentukan sijil SSL dan kunci persendirian; 2. Mengoptimumkan konfigurasi, membolehkan HTTP/2 dan OCSPSTAPLING; 3. Debug kesilapan biasa, seperti laluan sijil dan isu suite penyulitan; 4. Cadangan Pengoptimuman Prestasi Aplikasi, seperti menggunakan Let'sEncrypt dan Sesi Multiplexing.

Nginx adalah HTTP berprestasi tinggi dan pelayan proksi terbalik yang baik untuk mengendalikan sambungan serentak yang tinggi. 1) Konfigurasi Asas: Dengar port dan sediakan perkhidmatan fail statik. 2) Konfigurasi Lanjutan: Melaksanakan proksi terbalik dan mengimbangi beban. 3) Kemahiran Debugging: Periksa log ralat dan uji fail konfigurasi. 4) Pengoptimuman Prestasi: Aktifkan pemampatan GZIP dan laraskan dasar cache.

Cache Nginx dapat meningkatkan prestasi laman web dengan ketara melalui langkah -langkah berikut: 1) Tentukan kawasan cache dan tetapkan laluan cache; 2) Konfigurasikan tempoh kesahihan cache; 3) menetapkan dasar cache yang berbeza mengikut kandungan yang berbeza; 4) mengoptimumkan penyimpanan cache dan mengimbangi beban; 5) Kesan Cache Memantau dan Debug. Melalui kaedah ini, cache Nginx dapat mengurangkan tekanan pelayan back-end, meningkatkan kelajuan tindak balas dan pengalaman pengguna.

Menggunakan DockerCompose dapat memudahkan penggunaan dan pengurusan Nginx, dan skala melalui Dockerswarm atau Kubernetes adalah amalan biasa. 1) Gunakan dockercompose untuk menentukan dan menjalankan bekas Nginx, 2) melaksanakan pengurusan kluster dan skala automatik melalui Dockerswarm atau Kubernetes.

Konfigurasi lanjutan Nginx boleh dilaksanakan melalui blok pelayan dan proksi terbalik: 1. Blok pelayan membenarkan beberapa laman web dijalankan dalam satu keadaan, setiap blok dikonfigurasi secara bebas. 2. Proksi terbalik memajukan permintaan ke pelayan backend untuk merealisasikan beban mengimbangi dan pecutan cache.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa