Rumah >Operasi dan penyelenggaraan >Nginx >Bagaimana untuk menyelesaikan masalah apabila docker gagal menjalankan fail konfigurasi mengikat nginx

Bagaimana untuk menyelesaikan masalah apabila docker gagal menjalankan fail konfigurasi mengikat nginx

WBOY
WBOYke hadapan
2023-05-17 09:34:05980semak imbas

Pelaksanaan langsung arahan permulaan akan gagal

tarik imej:

docker pull nginx

Kemudian laksanakan arahan permulaan:

docker run -d -p 80:80 -p 443:443 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/cache:/var/cache/nginx \
--restart=always nginx

Jika fail /mydata/nginx/conf/nginx.conf tidak wujud, ralat docker akan muncul di sini , kerana docker tidak membenarkan mengikat fail yang tidak wujud.

dan terus mencipta kosong /mydata/nginx/conf/nginx.confWalaupun docker tidak akan melaporkan ralat, nginx tidak boleh bermula seperti biasa dalam bekas Dilihat melalui perintah docker ps -a, nginx akan berada dalam exit atau sentiasa state , kerana operasi nginx bergantung pada konfigurasi yang berkaitan dalam fail konfigurasi ini. restartnginx.confIdea dan kaedah penyelesaian

Mula-mula jalankan bekas tanpa menggunakan pengikatan -v, dan kemudian salin terus fail yang berkaitan dalam bekas ke lokasi yang ditentukan. Selepas itu, anda boleh memadamkan bekas dan jalankan secara langsung arahan permulaan.

Operasi khusus adalah seperti berikut:

Mula-mula buat folder yang berkaitan:

mkdir -p \
/mydata/nginx/html \
/mydata/nginx/conf \
/mydata/nginx/logs \
/mydata/nginx/cache

Jalankan bekas nginx:

docker run -d --name nginx nginx

Salin fail konfigurasi dan folder ke Hos direktori yang ditentukan:

docker cp nginx:/etc/nginx/nginx.conf /mydata/nginx/conf/
docker cp nginx:/etc/nginx/conf.d /mydata/nginx/conf.d

Padamkan bekas asal:

docker rm -f nginx

Jalankan arahan permulaan, -v mengikat volum yang berkaitan:

docker run -d -p 80:80 -p 443:443 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/cache:/var/cache/nginx \
--restart=always nginx

Alihkan salinan dalam

direktori Fail ke lokasi yang betul:

 mv /mydata/nginx/conf.d/* /mydata/nginx/conf/conf.d/
 rm -rf /mydata/nginx/conf.d
conf.d Dengan cara ini bekas nginx boleh berjalan seperti biasa, dan kami telah memetakan kedua-dua fail

dan direktori

kepada hos melalui operasi di atas untuk mengubah suai nginx.conf pada masa hadapan atau menambah conf.d fail ke nginx.conf hanya perlu dilakukan di lokasi yang sepadan pada mesin hos. conf.d

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah apabila docker gagal menjalankan fail konfigurasi mengikat 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