欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker部署nginx+php環(huán)境的全過程(簡(jiǎn)單可用!)

 更新時(shí)間:2023年02月04日 14:32:34   作者:scosun  
最近在學(xué)docker,順便配置了一下docker中的nginx與php,發(fā)現(xiàn)網(wǎng)上的關(guān)于docker中配置nginx與php的資料很少,而且有的也很舊,沒有太多的參考性,下面這篇文章主要給大家介紹了關(guān)于Docker部署nginx+php環(huán)境的相關(guān)資料,需要的朋友可以參考下

第一步:安裝Docker

訪問下面地址,根據(jù)你的需要下載安裝docker運(yùn)行環(huán)境。

下載docker desktop:https://www.docker.com/

如果你是Windows、macOS(Intel/M1)、Linux桌面OS,都可以下載到對(duì)應(yīng)版本進(jìn)行安裝,相對(duì)命令行方式,更加簡(jiǎn)單方便。

安裝完成后,運(yùn)行docker desktop,顯示如下界面:

在任務(wù)欄中會(huì)顯示docker的logo,這里以windows為例。

使用Windows系統(tǒng)下PowerShell或MacOS下終端.app,在命令行輸入

$ docker -v

如果docker運(yùn)行環(huán)境安裝成功,將顯示當(dāng)前Docker的版本號(hào)。

第二步:安裝Nginx

使用docker pull命令,在線拉取nginx鏡像,如果沒有特殊版本需求,可直接輸入nginx:latest

$ docker pull nginx:latest

在docker desktop上,可以點(diǎn)擊images選項(xiàng)進(jìn)行查看,鏡像是否拉取成功。

 也可以通過命令行進(jìn)行查看:

$ docker images

第三步:安裝PHP

這里我們選擇7.4版本的php,如果沒有版本需求,也可以輸入php:latest

$ docker pull php:7.4-fpm

第四步:?jiǎn)?dòng)PHP容器

$ docker run --name myphp-fpm -v /docker/nginx/www:/www -d ef0ed3bc573e

其中,myphp-fpm是我給php容器起的名字,/docker/nginx/www是我在本地創(chuàng)建的一個(gè)文件目錄,用來對(duì)應(yīng)docker的www,ef0ed3bc573e是php的鏡像ID。

容器啟動(dòng)正常,在docker desktop的Containers選項(xiàng)中可以看到如下記錄,Status顯示running,代表容器啟動(dòng)成功。

也可以使用命令行來查看

$ docker ps

第五步:?jiǎn)?dòng)Nginx容器并關(guān)聯(lián)PHP,這一步很重要。

網(wǎng)上關(guān)于這一方面的介紹很多,但是很多描述的不清晰,對(duì)最新版本的兼容也不是很好。

$ docker run --name nginx -p 8080:80 -d -v /docker/nginx/www:/usr/share/nginx/html -v /docker/nginx/conf/conf.d:/etc/nginx/conf.d --link myphp-fpm:php nginx:latest

$ docker run --name nginx -p 8080:80 -d -v /docker/nginx/www:/usr/share/nginx/html -v /docker/nginx/conf/conf.d:/etc/nginx/conf.d --link myphp-fpm:php nginx:latest

這里要說明一下,筆者也是試過很多次才正常運(yùn)行的,如果這一步操作不對(duì),那么PHP就無法真長(zhǎng)使用。

其中nginx是我起的nginx容器的名字

8080:80代表,通過瀏覽器訪問8080端口,在docker中對(duì)應(yīng)的是80端口

/docker/nginx/www是本地的掛載目錄,windows下也可以c:/docker/...加上盤符,/usr/share/nginx/html是nginx默認(rèn)的網(wǎng)頁root路徑

/docker/nginx/conf/conf.d是本地的掛載目錄,對(duì)應(yīng)的nginx路徑是/etc/nginx/conf.d,這個(gè)文件夾主要用于存放default.conf配置文件。

--link myphp-fpm:php 這個(gè)參數(shù)很重要,代表運(yùn)行nginx的時(shí)候要關(guān)聯(lián)php容器。

很多朋友在嘗試該步操作的時(shí)候,會(huì)出現(xiàn)很多各種各樣的錯(cuò)誤,例如缺少參數(shù),容器運(yùn)行失敗等等。以上示例,請(qǐng)大家參考。

執(zhí)行結(jié)果:

容器運(yùn)行狀態(tài):

第六部:復(fù)制配置文件和網(wǎng)頁文件到nginx容器中。

執(zhí)行到這一步,雖然nginx和php容器都已經(jīng)運(yùn)行正常了,但是你通過瀏覽器訪問還是404。

原因在于nginx容器中沒有default.conf和index.php文件。所以,最后一步就是cp這兩個(gè)文件到nginx容器的制定目錄下,然后再重啟nginx容器。

$ docker cp /docker/nginx/www/index.php nginx:/usr/share/nginx/html
$ docker cp /docker/nginx/conf/conf.d/default.conf nginx:/etc/nginx/conf.d

這里給出index.php的內(nèi)容:

<?php
    echo phpinfo();
?>

和default.conf的內(nèi)容:

server {
    listen       80;
    server_name  localhost;
 
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm index.php;
    }
 
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
 
#fastcgi_pass 127.0.0.1:9000
    location ~ \.php$ {
        fastcgi_pass   myphp-fpm:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

最后通過瀏覽器訪問:

http://localhost:8080或者h(yuǎn)ttp://127.0.0.1:8080

至此,大功告成!

總結(jié)

到此這篇關(guān)于Docker部署nginx+php環(huán)境的文章就介紹到這了,更多相關(guān)Docker部署nginx+php環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Armbian5.9.0安裝docker及部署可視化portainer的詳細(xì)教程

    Armbian5.9.0安裝docker及部署可視化portainer的詳細(xì)教程

    這篇文章主要介紹了Armbian5.9.0安裝docker及部署可視化portainer的詳細(xì)教程,通過?ssh?進(jìn)去?Armbian?系統(tǒng)后,輸入相應(yīng)代碼,按提示輸入y,等待安裝完成即可,需要的朋友可以參考下
    2022-05-05
  • 詳解Docker學(xué)習(xí)之用commit命令創(chuàng)建鏡像

    詳解Docker學(xué)習(xí)之用commit命令創(chuàng)建鏡像

    這篇文章主要介紹了詳解Docker學(xué)習(xí)之用commit命令創(chuàng)建鏡像,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • docker中運(yùn)行PostgreSQL容器的簡(jiǎn)單步驟

    docker中運(yùn)行PostgreSQL容器的簡(jiǎn)單步驟

    這篇文章主要給大家介紹了關(guān)于docker中運(yùn)行PostgreSQL容器的簡(jiǎn)單步驟,隨著docker的廣泛應(yīng)用,為了提供便利的管理,PostgreSQL數(shù)據(jù)庫也支持docker的安裝方式,需要的朋友可以參考下
    2023-08-08
  • docker映射端口穿透內(nèi)置防火墻的實(shí)現(xiàn)

    docker映射端口穿透內(nèi)置防火墻的實(shí)現(xiàn)

    在使用Docker部署項(xiàng)目時(shí),即使未開啟CentOS7的Firewalld防火墻,端口仍可被外網(wǎng)訪問,這是因?yàn)镈ocker在安裝后會(huì)接管iptables,并自動(dòng)添加規(guī)則以放行指定端口,解決方法包括依賴外置防火墻放行端口、指定端口監(jiān)聽地址為本機(jī)、禁用Docker的iptables規(guī)則修改
    2024-10-10
  • 詳解Docker與FastDFS的安裝命令及使用

    詳解Docker與FastDFS的安裝命令及使用

    這篇文章主要介紹了詳解Docker與FastDFS的安裝命令及使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • docker拉取鏡像錯(cuò)誤missing signature key的解決方法

    docker拉取鏡像錯(cuò)誤missing signature key的解決方法

    這篇文章主要介紹了docker拉取鏡像錯(cuò)誤missing signature key的解決方法,當(dāng)我使用docker拉取一個(gè)特定的鏡像時(shí),提示錯(cuò)誤,文中給出了相關(guān)的解決方法,需要的朋友可以參考下
    2024-03-03
  • 修改已有docker容器中的內(nèi)容方法

    修改已有docker容器中的內(nèi)容方法

    這篇文章主要介紹了修改已有docker容器中的內(nèi)容方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 在Docker中使用mongodb數(shù)據(jù)庫的實(shí)現(xiàn)代碼

    在Docker中使用mongodb數(shù)據(jù)庫的實(shí)現(xiàn)代碼

    這篇文章主要介紹了在Docker中使用mongodb數(shù)據(jù)庫的實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-10-10
  • Docker學(xué)習(xí)之常用的基礎(chǔ)命令總結(jié)

    Docker學(xué)習(xí)之常用的基礎(chǔ)命令總結(jié)

    這篇文章給大家整理了一些Docker常用的基礎(chǔ)命令,對(duì)大家日常使用Docker還是很有幫助,通過這些命令可以有效的提高大家的工作效率,有需要的朋友們下面來一起看看吧。
    2016-10-10
  • docker容器如何優(yōu)雅的終止詳解

    docker容器如何優(yōu)雅的終止詳解

    最近公司在試驗(yàn)如何將項(xiàng)目部署到docker容器中去,這其中涉及到一個(gè)技術(shù)環(huán)節(jié),那就是如何讓docker容器優(yōu)雅的終止。所謂優(yōu)雅終止,指的就是程序在退出前有清理資源,保存必要中間狀態(tài),持久化內(nèi)存數(shù)據(jù)的機(jī)會(huì)。下面通過這篇大家一起由簡(jiǎn)單到復(fù)雜逐一考量一下。
    2016-11-11

最新評(píng)論