docker 搭建nginx和php過程中的曲折

2022-05-02 09:06:11 字數 1546 閱讀 5877

一、首先先搭建docker

1、把yum更新到最新:yum update

3、設定yum源,我這裡用的是阿里的倉庫:yum-config-manager --add-repo

4、安裝docker :yum install docker-ce

5、啟動docker :systemctl start docke

6、把docker設定為開機自啟動:systemctl enable docker   (到了這裡docker已經安裝完成)

二、docker 安裝php容器

進去後可以根據不同系統選擇不同方案,具體裡面有教程。

2、安裝php(我這裡安裝的php7.3 ):docker pull php:7.3.0-fpm

三、docker安裝nginx

1、docker pull nginx

四、nginx+php部署

1、新增目錄:mkdir ~/nginx/www  ~/nginx/conf  ~/nginx/log

2、啟動php:docker run --name php7 -v ~/nginx/www:/www --privileged=true -d php:7.3.0-fpm

備註:--name php7 將啟動的容器命名為php7     -v ~/nginx/www:/www   把本機~/nginx/www的目錄對映為php容器內/www目錄 訪問檔案時就可以會去~/nginx/www目錄中找  

3、在~/nginx/conf資料夾下新增檔案default.conf編輯新增內容

server 

error_page 500 502 503 504 /50x.html;

location = /50x.html

location ~ \.php$

}

4、啟動nginx:docker run --name php-nginx -p 81:80 -v ~/nginx/conf:/etc/nginx/conf.d -v ~/nginx/www:/usr/share/nginx/html --privileged=true --link php7:php -d nginx

備註:--name php-nginx 將啟動的容器命名為php-nginx     ~/nginx/conf:/etc/nginx/conf.d   把本機~/nginx/conf的目錄對映為nginx容器內/etc/nginx/conf.d目錄 啟動nignx事就會把  ~/nginx/conf下面的配置檔案替換成/etc/nginx/conf.d目錄下的配置檔案啟動

--link php7:php 這裡是把nginx和php容器連線起來使得兩個容器可以相互通訊

巨坑:你會發現不管是啟動nginx還是php我都帶了--privileged=true這個,讓它有許可權訪問,開始這是nginx新增了然後訪問php的時候一直報錯檔案不存在,反覆查詢是不是配置檔案的問題,後來試著去www目錄下然後就報沒有許可權才發現是許可權問題

開始以為是其它的問題然後弄了賊久,巨坑.......

Docker搭建Nginx環境

我這裡沒有指定版本號,所以拉取的最新的版本。然後是分別把nginx容器裡的配置檔案,日誌檔案,和html檔案對映到宿主機上。方便以後的更改。以我的為例 在 opt目錄新建了nginx資料夾,裡面分別有log,conf,html三個資料夾。接著從nginx容器裡把配置檔案複製到宿主機 opt ngin...

docker搭建nginx服務

docker pull nginxmkdir p software docker nginx html software docker nginx conf software docker nginx logsdocker run d p 8088 80 name nginx front resta...

docker筆記3 搭建nginx

使用以下命令執行nginx容器 docker run name my nginx p 8080 80 d nginx引數說明 最後我們可以通過瀏覽器可以直接訪問 8080 埠的 nginx 服務 通過命令docker ps檢視所有正在執行容器 通過命令docker stop my nginx停止指定...