Jadual Kandungan
1. Asas Docker
2. Docker membina persekitaran lnmp
Rumah Operasi dan penyelenggaraan Docker Analisis cara docker membina persekitaran lnmp (php7.4 nginx)

Analisis cara docker membina persekitaran lnmp (php7.4 nginx)

Feb 15, 2022 am 10:25 AM
docker nginx

Artikel ini akan memperkenalkan anda kepada kaedah pemasangan docker di bawah Linux, dan mengetahui lebih lanjut tentang langkah membina persekitaran lnmp (php7.4 nginx) dengan docker.

Analisis cara docker membina persekitaran lnmp (php7.4 nginx)

1. Asas Docker

1.1 Pemasangan Docker

Pemasangan Docker sangat mudah, kita boleh terus Gunakan arahan yum dalam sistem centos untuk dipasang:

yum install -y docker
Salin selepas log masuk

Selepas selesai, semak maklumat versi docker:

[root@localhost docker]# docker version
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: docker-1.13.1-204.git0be3e21.el7.x86_64
 Go version:      go1.10.3
 Git commit:      0be3e21/1.13.1
 Built:           Fri Mar 19 13:57:09 2021
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: docker-1.13.1-204.git0be3e21.el7.x86_64
 Go version:      go1.10.3
 Git commit:      0be3e21/1.13.1
 Built:           Fri Mar 19 13:57:09 2021
 OS/Arch:         linux/amd64
 Experimental:    false
[root@localhost docker]#
Salin selepas log masuk

Untuk membuktikan bahawa pemasangan telah selesai, arahan docker adalah sebagai berikut:

systemctl start docker   # 启动docker
systemctl stop docker    # 停止docker
systemctl status docker  # 查看docker状态
systemctl restart docker # 重新启动docker
Salin selepas log masuk

sudo systemctl enable docker #Set docker to start automatically at boot

Sebelum bermula, kita perlu mengubah suai sumber imej docker:

[root@localhost docker]# vim /etc/docker/daemon.json

{
  "registry-mirrors": ["https://ftnejmh3.mirror.aliyuncs.com"]
}
Salin selepas log masuk

Selepas selesai, jalankan systemctl start docker, mulakan perkhidmatan docker.

2. Docker membina persekitaran lnmp

Pengenalan perisian alam sekitar:

1 docker

2 🎜>

4. php7.4 [Pembelajaran yang disyorkan: "

Tutorial Video PHP

"]

Struktur direktori lnmp dibina oleh docker:

2.1 Bina nginx dengan docker
docker
│   └── nginx
│   │   └── default.conf #nginx配置文件
│   └── www
│       └── ...  #项目代码
Salin selepas log masuk

Kita boleh menggunakan perintah nginx carian docker untuk mencari imej nginx pada Docker Hub Di sini kita terus tarik imej rasmi

Tunggu muat turun untuk diselesaikan Kita boleh mencari imej yang REPOSITORInya adalah nginx dalam senarai imej tempatan.

[root@localhost ~]# docker pull nginx
Salin selepas log masuk

Buat konfigurasi nginx

[root@localhost www]# docker images
REPOSITORY       TAG       IMAGE ID        CREATED        SIZE
docker.io/nginx  latest    62d49f9bab67    12 days ago    133 MB
Salin selepas log masuk

Lihat maklumat ip
[root@localhost ~]# cd /docker/nginx
[root@localhost ~]# touch default.conf
[root@localhost ~]# vim default.conf

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;
    root /docker/www/lmrs-2008/public;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /docker/www/lmrs-2008/public;
    }

    location ~ \.php$ {
        root /docker/www/lmrs-2008/public;
        fastcgi_pass   172.17.0.3:9000;    //容器的ip地址
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}
Salin selepas log masuk
fastcgi_pass   172.17.0.3:9000;
Salin selepas log masuk

Gunakan imej nginx untuk membuka bekas aplikasi nginx

[root@localhost docker]# docker inspect php | grep "IPAddress"
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.3",
                    "IPAddress": "172.17.0.3",
Salin selepas log masuk

2.2 Docker installation php
[root@localhost ~]# docker run -p 80:80 -d --name nginx -v /docker/nginx/default.conf:/etc/nginx/conf.d/default.conf -v /docker/www:/docker/www  --privileged=true nginx

-p 80:80:将容器的80端口映射到主机的80端口
-d 后台运行(守护进程)
--name nginx:将容器命名为nginx
-v 将主机中当前目录下的www挂载到容器的www目录

#查看docker目前的容器
[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
8781afd1bf13        nginx               "/docker-entrypoin..."   About an hour ago   Up 17 minutes       0.0.0.0:80->80/tcp                  nginx
Salin selepas log masuk

Sama seperti nginx, kita boleh cari dulu gambar melalui docker search php, di sini kita terus tarik imej rasmi, labelnya ialah 7.4- fpm, yang lain Anda boleh memilih versi sendiri

Selepas muat turun selesai, kita boleh mencari imej dengan REPOSITORI php dan label 7.4-fpm dalam senarai imej tempatan.

[root@localhost ~]# docker pull php:7.4-fpm
Salin selepas log masuk

Gunakan imej php untuk membuka bekas aplikasi php-frm

[root@localhost docker]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx     latest              62d49f9bab67        12 days ago         133 MB
docker.io/php       7.4-fpm             41b17b0f90e6        2 weeks ago         405 MB
Salin selepas log masuk

Semak status permulaan kontena

[root@localhost docker]# docker run -p 9000:9000 -d --name php -v /docker/www:/docker/www --privileged=true php:7.4-fpm
-p 9000:9000 :将容器的9000端口映射到主机的9000端口
-d 后台运行(守护进程)
--name php:将容器命名为php
-v 将主机中当前目录下的www挂载到容器的www目录
Salin selepas log masuk

Pada ketika ini, anda boleh lihat bahawa kedua-dua nginx dan php Operasi berjaya (STATUS meningkat, menunjukkan bahawa ia sedang berjalan)

[root@localhost docker]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
cbf73ca0f17c        php:7.4-fpm         "docker-php-entryp..."   About an hour ago   Up About an hour    0.0.0.0:9000->9000/tcp              php
8781afd1bf13        nginx               "/docker-entrypoin..."   About an hour ago   Up 23 minutes       0.0.0.0:80->80/tcp                  nginx
Salin selepas log masuk
Semak sama ada IP perkhidmatan php-fpm yang dikonfigurasikan dalam nginx adalah konsisten:

Dalam konfigurasi di atas,

location ~ \.php$ {
    root /docker/www/lmrs-2008/public;
    fastcgi_pass   172.17.0.3:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}
Salin selepas log masuk
fastcgi_pass 172.17.0.3 :9000

perlu konsisten dengan IP bekas php yang sedang kami lihat. Selepas melengkapkan konfigurasi di atas dan mengesahkan bahawa tiada masalah memulakan bekas, anda boleh mengujinya:

Mungkin terdapat masalah kebenaran direktori semasa mengakses laravel. Berikut ialah penyelesaiannya:

Pembelajaran yang disyorkan: "

tutorial video buruh pelabuhan
[root@localhost docker]# cd /docker/www
[root@localhost www]# chmod -R 777  文件名
Salin selepas log masuk
"

Atas ialah kandungan terperinci Analisis cara docker membina persekitaran lnmp (php7.4 nginx). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

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)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi? PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi? Mar 05, 2025 pm 05:57 PM

Penjelasan dan Panduan Pemasangan Terperinci untuk Pinetwork Nodes Artikel ini akan memperkenalkan ekosistem pinetwork secara terperinci - nod pi, peranan utama dalam ekosistem pinetwork, dan menyediakan langkah -langkah lengkap untuk pemasangan dan konfigurasi. Selepas pelancaran Rangkaian Ujian Blockchain Pinetwork, nod PI telah menjadi bahagian penting dari banyak perintis yang aktif mengambil bahagian dalam ujian, bersiap sedia untuk pelepasan rangkaian utama yang akan datang. Jika anda tidak tahu kerja pinet, sila rujuk apa itu picoin? Berapakah harga untuk penyenaraian? Penggunaan PI, perlombongan dan analisis keselamatan. Apa itu Pinetwork? Projek Pinetwork bermula pada tahun 2019 dan memiliki syiling pi cryptocurrency eksklusifnya. Projek ini bertujuan untuk mewujudkan satu yang semua orang boleh mengambil bahagian

Pembangunan tangkas dan pengendalian kontena perkhidmatan mikro PHP Pembangunan tangkas dan pengendalian kontena perkhidmatan mikro PHP May 08, 2024 pm 02:21 PM

Jawapan: Perkhidmatan mikro PHP digunakan dengan HelmCharts untuk pembangunan tangkas dan kontena dengan DockerContainer untuk pengasingan dan kebolehskalaan. Penerangan terperinci: Gunakan HelmCharts untuk menggunakan perkhidmatan mikro PHP secara automatik untuk mencapai pembangunan tangkas. Imej Docker membenarkan lelaran pantas dan kawalan versi perkhidmatan mikro. Piawaian DockerContainer mengasingkan perkhidmatan mikro dan Kubernetes mengurus ketersediaan dan kebolehskalaan bekas. Gunakan Prometheus dan Grafana untuk memantau prestasi dan kesihatan perkhidmatan mikro, serta mencipta penggera dan mekanisme pembaikan automatik.

Cara Memasang DeepSeek Cara Memasang DeepSeek Feb 19, 2025 pm 05:48 PM

Terdapat banyak cara untuk memasang DeepSeek, termasuk: Menyusun dari Sumber (untuk pemaju berpengalaman) menggunakan pakej yang dikompilasi (untuk pengguna Windows) menggunakan bekas docker (untuk yang paling mudah, tidak perlu bimbang tentang keserasian) Dokumen rasmi dengan berhati -hati dan menyediakannya sepenuhnya untuk mengelakkan masalah yang tidak perlu.

Sebarkan aplikasi JavaEE menggunakan Docker Containers Sebarkan aplikasi JavaEE menggunakan Docker Containers Jun 05, 2024 pm 08:29 PM

Gunakan aplikasi Java EE menggunakan bekas Docker: Cipta Fail Docker untuk mentakrifkan imej, bina imej, jalankan bekas dan petakan port, dan kemudian akses aplikasi dalam penyemak imbas. Contoh aplikasi JavaEE: REST API berinteraksi dengan pangkalan data, boleh diakses pada localhost selepas penggunaan melalui Docker.

Bagaimana untuk menggunakan PHP CI/CD untuk lelaran dengan cepat? Bagaimana untuk menggunakan PHP CI/CD untuk lelaran dengan cepat? May 08, 2024 pm 10:15 PM

Jawapan: Gunakan PHPCI/CD untuk mencapai lelaran pantas, termasuk menyediakan saluran paip CI/CD, ujian automatik dan proses penggunaan. Sediakan saluran paip CI/CD: Pilih alat CI/CD, konfigurasikan repositori kod dan tentukan saluran paip binaan. Ujian automatik: Tulis ujian unit dan penyepaduan dan gunakan rangka kerja ujian untuk memudahkan ujian. Kes praktikal: Menggunakan TravisCI: Pasang TravisCI, tentukan saluran paip, dayakan saluran paip dan lihat hasilnya. Laksanakan penyampaian berterusan: pilih alatan pengerahan, tentukan saluran paip pengerahan dan automatik penggunaan. Faedah: Meningkatkan kecekapan pembangunan, mengurangkan ralat dan memendekkan masa penghantaran.

Cara memasang sambungan Docker dalam vscode Langkah-langkah untuk memasang sambungan Docker dalam vscode Cara memasang sambungan Docker dalam vscode Langkah-langkah untuk memasang sambungan Docker dalam vscode May 09, 2024 pm 03:25 PM

1. Mula-mula, selepas membuka antara muka, klik butang ikon sambungan di sebelah kiri 2. Kemudian, cari lokasi bar carian di halaman sambungan yang dibuka 3. Kemudian, masukkan perkataan Docker dengan tetikus untuk mencari pemalam sambungan 4 . Akhir sekali, pilih pemalam sasaran dan klik kanan Hanya klik butang pasang di sudut bawah

Pemantauan kontena perkhidmatan mikro PHP dan amalan pengurusan log Pemantauan kontena perkhidmatan mikro PHP dan amalan pengurusan log May 08, 2024 pm 12:06 PM

Pemantauan kontena perkhidmatan mikro PHP dan pemantauan pengurusan log: Gunakan Prometheus dan Grafana untuk memantau penggunaan sumber, bilangan permintaan dan kependaman. Pengurusan log: Gunakan ELKStack (ElasticSearch, Logstash, Kibana) untuk mengumpul, menghuraikan dan memvisualisasikan log. Gunakan ejen Filebeat untuk menghantar log ke ElasticSearch.

Soalan dan Jawapan mengenai Reka Bentuk Seni Bina Perkhidmatan Mikro Aplikasi PHP Enterprise Soalan dan Jawapan mengenai Reka Bentuk Seni Bina Perkhidmatan Mikro Aplikasi PHP Enterprise May 07, 2024 am 09:36 AM

Seni bina perkhidmatan mikro menggunakan rangka kerja PHP (seperti Symfony dan Laravel) untuk melaksanakan perkhidmatan mikro dan mengikut prinsip RESTful dan format data standard untuk mereka bentuk API. Perkhidmatan mikro berkomunikasi melalui baris gilir mesej, permintaan HTTP atau gRPC dan menggunakan alatan seperti Prometheus dan ELKStack untuk pemantauan dan penyelesaian masalah.

See all articles