cari
RumahOperasi dan penyelenggaraanNginxApakah kaedah untuk memasang fail pemalam nginx di bawah Docker?

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(&#39;datetime&#39;).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&#39;s document root
    # concurs with nginx&#39;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!

Kenyataan
Artikel ini dikembalikan pada:亿速云. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Ciri Utama Nginx: Prestasi, Skalabiliti, dan KeselamatanCiri Utama Nginx: Prestasi, Skalabiliti, dan KeselamatanApr 13, 2025 am 12:09 AM

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 vs Apache: Hosting Web dan Pengurusan Lalu LintasNginx vs Apache: Hosting Web dan Pengurusan Lalu LintasApr 12, 2025 am 12:04 AM

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.

Nginx: Alat serba boleh untuk aplikasi web modenNginx: Alat serba boleh untuk aplikasi web modenApr 11, 2025 am 12:03 AM

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

Konfigurasi Nginx SSL/TLS: Mengamankan laman web anda dengan HTTPSKonfigurasi Nginx SSL/TLS: Mengamankan laman web anda dengan HTTPSApr 10, 2025 am 09:38 AM

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.

Soalan Temuduga Nginx: Ace DevOps/Sistem Temuduga Admin AndaSoalan Temuduga Nginx: Ace DevOps/Sistem Temuduga Admin AndaApr 09, 2025 am 12:14 AM

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.

Teknik caching nginx: Meningkatkan prestasi laman webTeknik caching nginx: Meningkatkan prestasi laman webApr 08, 2025 am 12:18 AM

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.

Nginx dengan Docker: Menggunakan dan menskalakan aplikasi kontenaNginx dengan Docker: Menggunakan dan menskalakan aplikasi kontenaApr 07, 2025 am 12:08 AM

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 nginx maju: Menguasai blok pelayan & proksi terbalikKonfigurasi nginx maju: Menguasai blok pelayan & proksi terbalikApr 06, 2025 am 12:05 AM

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.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

MantisBT

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

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

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa