


Bagaimana untuk menggunakan dockerfile untuk membina imej nginx
Pengenalan kepada dockerfile
Docker boleh membina imej secara automatik dengan membaca kandungan dockerfile Fail docker ialah fail teks yang mengandungi semua arahan yang perlu dilaksanakan semasa proses binaan. Ia juga boleh difahami bahawa fail docker ialah skrip yang ditafsirkan oleh program docker Ia terdiri daripada arahan satu demi satu. Setiap arahan sepadan dengan perintah di bawah sistem Linux. Dockerfile mempunyai format penulisan sendiri dan arahan yang disokong Program docker menyelesaikan kebergantungan antara arahan ini, serupa dengan makefile.
Program docker akan membaca fail docker dan menjana imej tersuai mengikut arahan. Berbanding dengan kotak hitam seperti imej, skrip yang jelas seperti dockerfile lebih mudah diterima oleh pengguna Ia jelas menunjukkan bagaimana imej dijana. Dengan fail docker, apabila kami perlu menyesuaikan keperluan tambahan kami sendiri, kami hanya perlu menambah atau mengubah suai arahan pada fail docker dan menjana semula imej, menghapuskan masalah menaip arahan.
Kaedah docker untuk membina imej: commit, dockerfile
1. Gunakan commit untuk membina imej:
Commit dibina berdasarkan asal imej Tujuan menggunakan kaedah ini untuk membina imej adalah untuk menyimpan beberapa maklumat konfigurasi dan maklumat yang diubah suai dalam imej. Bersamaan dengan syot kilat imej.
2. Gunakan dockerfile untuk membina imej:
Dockerfile ialah imej (disesuaikan) yang diperlukan untuk membina dengan cepat.
Arahan fail Docker:
daripada: Tentukan imej asas (daripada adalah arahan yang diperlukan dan mestilah arahan pertama).
run: digunakan untuk melaksanakan arahan baris arahan. Format asasnya:
Format Shell: jalankan
format exec: jalankan , kaedah ini adalah seperti format dalam panggilan fungsi; >Salin: Salin fail. Format asasnya:
Format 1: salin
Format 2: salin ["
tambah: Salinan fail yang lebih maju, menambah beberapa fungsi berdasarkan salinan Jika pakej yang dimampatkan disalin, ia akan dinyahmampat secara langsung dan No perlu menggunakan run untuk nyahmampat;
cmd: arahan permulaan kontena. Format asasnya:
Format Shell: cmd
Format Exec: cmd ["executable file", "Parameter 1", "Parameter 2"...]
Format senarai parameter: cmd ["Parameter 1", "Parameter 2"...], selepas menentukan arahan titik masuk, gunakan cmd untuk menentukan parameter khusus
Titik masuk: titik masuk. Format asasnya dibahagikan kepada exec dan shell,
Tujuan titik masuk adalah sama seperti cmd, iaitu untuk menentukan program dan parameter permulaan kontena. Entrypoint boleh diganti semasa operasi, tetapi ia lebih menyusahkan daripada cmd dan perlu ditentukan melalui parameter --entrypoint of docker run. Apabila titik masuk ditentukan, makna cmd berubah Daripada menjalankan perintahnya secara langsung, kandungan cmd dihantar ke arahan titik masuk sebagai parameter. Apabila dilaksanakan, ia menjadi:
env: Tetapkan pembolehubah persekitaran. (Anda boleh menggunakan pembolehubah yang digunakan di sini) Format asasnya:
Format 1: env
Format 2: env
arg: Bina parameter. Kesan parameter binaan dan env adalah sama Kedua-duanya menetapkan pembolehubah persekitaran. Perbezaannya ialah pembolehubah persekitaran yang dibina oleh arg tidak akan wujud apabila bekas dijalankan pada masa hadapan. Format asasnya:
Format 1: arg
Format 2: Nilai lalai ini boleh digunakan dalam binaan docker arahan binaan - - build-arg
volume: Tentukan volum tanpa nama. Format asasnya:
Format 1: volum ["
Format 2: volum
Dedah: Dedahkan port. Arahan pendedahan mengisytiharkan port yang disediakan oleh bekas masa jalan Apabila memulakan bekas, port tidak akan dibuka kerana pengisytiharan ini. Format asasnya:
Format 1: dedahkan
workdir: Tentukan direktori kerja. Format asasnya:
Format 1: workdir
Pengguna: Tentukan pengguna semasa. pengguna membantu anda bertukar kepada pengguna yang ditentukan. Format asasnya:
Format 1: pengguna
pemeriksaan kesihatan: Pemeriksaan kesihatan untuk menentukan sama ada status bekas itu normal. Format asasnya:
Format 1: healthcheck [pilihan] cmd
Format 2: healthcheck tiada: Jika imej asas mempunyai arahan pemeriksaan kesihatan , gunakan format ini untuk menyekat arahan pemeriksaan kesihatannya
Bina imej nginx:
Buat direktori dan tulis fail docker dalam direktori:
[root@docker ~]# mkdir mynginx [root@docker ~]# cd mynginx/ [root@docker mynginx]# pwd /root/mynginx [root@docker mynginx]#
Muat turun pakej kod sumber nginx ke direktori yang dibuat (direktori mynginx):
[root@docker ~]# wget -p /root/mynginx/ http://nginx.org/download/nginx-1.15.2.tar.gz
Tulis fail docker:
[root@docker mynginx]# vi dockerfile
Kandungannya adalah seperti berikut:
from centos run ping -c 1 www.baidu.com run yum -y install gcc make pcre-devel zlib-devel tar zlib add nginx-1.15.2.tar.gz /usr/src/ run cd /usr/src/nginx-1.15.2 \ && mkdir /usr/local/nginx \ && ./configure --prefix=/usr/local/nginx && make && make install \ && ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ \ && nginx run rm -rf /usr/src/nginx-1.15.2 expose 80
Jalankan arahan docker untuk membina imej:
[root@docker mynginx]# docker build -t nginx:v3 . sending build context to docker daemon 1.029mb step 1/7 : from centos ---> 5182e96772bf step 2/7 : run ping -c 1 www.baidu.com ---> using cache ---> 2f70f8abaf2a step 3/7 : run yum -y install gcc make pcre-devel zlib-devel tar zlib ---> using cache ---> dbdda4b7ae6f step 4/7 : add nginx-1.15.2.tar.gz /usr/src/ ---> using cache ---> 18ace6285668 step 5/7 : run cd /usr/src/nginx-1.15.2 && mkdir /usr/local/nginx && ./configure --prefix=/usr/local/nginx && make && make install && ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ && nginx ---> using cache ---> 99629488ede9 step 6/7 : run rm -rf /usr/src/nginx-1.15.2 ---> using cache ---> 869fbad71879 step 7/7 : expose 80 ---> using cache ---> 384bed72ea6f successfully built 384bed72ea6f successfully tagged nginx:v3
Menghasilkan dua berjaya bermakna binaan berjaya!
Mulakan imej tersuai:
Gunakan imej docker untuk melihat imej terbina:
Mulakan imej tersuai:
[root@docker ~]# docker run -dit -p 80:80 --name nginx nginx:v3 ecaafe1190447878b98dfb0198e92439db60ff7dab57a1674e0e9e7282a9c858 [root@docker ~]# docker ps -a container id image command created status ports names ecaafe119044 nginx:v3 "/bin/bash" 3 seconds ago up 2 seconds 0.0.0.0:80->80/tcp nginx
Nota: Pada masa ini, tidak kira bagaimana anda memulakan bekas, ia akan tetap berada dalam keadaan keluar.
Selepas pelbagai penyelesaian, saya akhirnya mengetahui di mana masalahnya. Ternyata apabila bekas bermula, ia dimulakan di latar belakang yang sepadan dengan utas Ia sudah dimulakan pada permulaan, tetapi selepas ia melaksanakan arahan, ia keluar dan tidak berjalan di latar belakang, jadi gunakan parameter -dit. untuk membiarkannya Jalankan sahaja di latar belakang.
[root@docker ~]# docker run -dit -p 80:80 --name nginx nginx:v3 ecaafe1190447878b98dfb0198e92439db60ff7dab57a1674e0e9e7282a9c858 [root@docker ~]# docker ps -a container id image command created status ports names ecaafe119044 nginx:v3 "/bin/bash" 3 seconds ago up 2 seconds 0.0.0.0:80->80/tcp nginx
Walau bagaimanapun...
Masalah berlaku lagi pada masa ini Walaupun sudah selesai, antara muka halaman web nginx tidak dapat diakses dan sambungan telah ditolak! ! ! !
[root@docker ~]# curl 192.168.100.22 curl: (7) failed connect to 192.168.100.22:80; 拒绝连接 [root@docker ~]# elinks --dump 192.168.100.22 elinks: 拒绝连接
Kemudian, selepas bertanya kepada Baidu, fq dan Google, akhirnya saya menemui masalahnya. Ternyata anda hanya perlu menggunakan exec untuk memasuki bekas dan memulakan nginx.
[root@docker ~]# docker exec -it nginx bash [root@ecaafe119044 /]# nginx [root@ecaafe119044 /]# exit exitrrree
Atas ialah kandungan terperinci Bagaimana untuk menggunakan dockerfile untuk membina imej nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Nginx sesuai untuk mengendalikan permintaan serentak yang tinggi, manakala Apache sesuai untuk senario di mana konfigurasi kompleks dan sambungan berfungsi diperlukan. 1.Nginx mengamalkan seni bina yang didorong oleh peristiwa, tidak menyekat, dan sesuai untuk persekitaran yang tinggi. 2. Apache mengamalkan model atau model benang untuk menyediakan ekosistem modul yang kaya yang sesuai untuk keperluan konfigurasi kompleks.

Nginx boleh digunakan untuk meningkatkan prestasi laman web, keselamatan, dan skalabiliti. 1) Sebagai proksi terbalik dan pengimbang beban, Nginx dapat mengoptimumkan perkhidmatan back-end dan berkongsi lalu lintas. 2) Melalui seni bina yang didorong oleh peristiwa dan tak segerak, Nginx dengan cekap mengendalikan sambungan serentak yang tinggi. 3) Fail konfigurasi membenarkan definisi peraturan yang fleksibel, seperti perkhidmatan fail statik dan mengimbangi beban. 4) Cadangan pengoptimuman termasuk membolehkan pemampatan GZIP, menggunakan cache dan menala proses pekerja.

NginxUnit menyokong pelbagai bahasa pengaturcaraan dan dilaksanakan melalui reka bentuk modular. 1. Memuatkan Modul Bahasa: Muatkan modul yang sepadan mengikut fail konfigurasi. 2. Permulaan Permohonan: Jalankan kod aplikasi apabila bahasa panggilan berjalan. 3. Permintaan Pemprosesan: Teruskan permintaan kepada contoh permohonan. 4. Pulangan Respons: Kembalikan respons yang diproses kepada pelanggan.

Nginx dan Apache mempunyai kelebihan dan kekurangan mereka sendiri dan sesuai untuk senario yang berbeza. 1.Nginx sesuai untuk senario penggunaan sumber yang tinggi dan rendah. 2. Apache sesuai untuk senario di mana konfigurasi kompleks dan modul yang kaya diperlukan. Dengan membandingkan ciri teras mereka, perbezaan prestasi, dan amalan terbaik, anda boleh membantu anda memilih perisian pelayan yang paling sesuai dengan keperluan anda.

Soalan: Bagaimana untuk memulakan nginx? Jawapan: Pasang Nginx Startup Nginx Verification Nginx adalah nginx mula meneroka pilihan permulaan lain secara automatik Mula nginx

Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.

Untuk menutup perkhidmatan nginx, ikuti langkah -langkah berikut: Tentukan jenis pemasangan: Red Hat/CentOS (status SistemCTL nginx) atau debian/ubuntu (status nginx) menghentikan perkhidmatan: Red Hat/CentOS (SystemCtl Stop Nginx) atau Debian/Ubuntu (perkhidmatan Nginx) (Syst

Bagaimana cara mengkonfigurasi nginx di Windows? Pasang Nginx dan buat konfigurasi hos maya. Ubah suai fail konfigurasi utama dan sertakan konfigurasi hos maya. Mulakan atau Muat semula Nginx. Uji konfigurasi dan lihat laman web. Selektif membolehkan SSL dan mengkonfigurasi sijil SSL. Selektif tetapkan firewall untuk membolehkan trafik port 80 dan 443.


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

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

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

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

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