虚拟机 docker部署php

首先我们来安装一下docker,使用官方安装脚本自动安装,安装命令如下

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 也可以使用国内daocloud一键安装命令
curl -sSL https://get.daocloud.io/docker | sh

在这里插入图片描述
虚拟机 docker部署php_第1张图片

本人使用的第一个安装命令,第二个命令也可以用。之前安装使用过
安装使用

docker version / docker -v

查看一下当前版本,是否安装完毕
在这里插入图片描述

docker拉取镜像

安装完之后,我们来看一下有没有镜像

docker images

在这里插入图片描述
发现我们的docker还没有运行,先启动我们docker服务

启动:service docker start
停止:service docker stop
重启:service docker restart

在这里插入图片描述

docekr启动完毕
我们接下来要安装nignx和php镜像,像mysql和redis就不做演示,我们镜像去哪里找呢
docker https://hub.docker.com/

安装niginx和php

docker pull nginx:latest

这里我直接拉最新版的niginx latest(最新版本)
虚拟机 docker部署php_第2张图片

php我们就拉php7.4版本就好了

docker pull php:7.4-fpm
虚拟机 docker部署php_第3张图片

docker images

查看自己的镜像

在这里插入图片描述
这时候 我们的镜像已经生成

docker 创建运行容器

1.创建nginx文件夹用来存放待会要挂载的目录,这里我是nginx文件夹 mkdir -p /docker/nginx/www

mkdir -p /docker/nginx/www

在这里插入图片描述

2.docker run --name myphp-fpm -v /docker/nginx/www:/www -d 38f2b691dcb8创建运行php7.4运行容器,名为 myphp-fpm(可自定义)
-v是挂载的目录,容器和服务器本身挂载。为的是以后不用进去容器内,既能修改(/docker/nginx/www 可修改)
-d后台运行
38f2b691dcb8 php镜像的id,可以通过docker images
容器主要配置

docker run --name myphp-fpm -v /docker/nginx/www:/www -d 38f2b691dcb8

虚拟机 docker部署php_第4张图片

3.创建运行容器,查看一下正在运行的docker的php容器·docker ps

4.创建conf、conf.d目录 mkdir -p /docker/nginx/conf/conf.d,一定要用mkdir -p递归创建目录,即使上级目录不存在,会按目录层级自动创建目录

mkdir -p /docker/nginx/conf/conf.d
在这里插入图片描述

5.创建自己的conf文件,并写入自己的配置conf文件可以自己命名

vi docker.conf

在这里插入图片描述
docker.conf文件内容

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;
}

#当请求网站下php文件的时候,反向代理到php-fpm
location ~ .php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
include fastcgi_params;
}
}

接下来就创建运行nginx的容器,并打通容器之间的互联

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

-p 主机和容器端口互联,主机8080:80
-v 目录挂载
link nginx和php容器互联
在这里插入图片描述

如果我们想进一步的修改nginx配置。我们可以使用docker exec -it aa18aaaf3806 \base\sh 进去容器里修改对应配置 aa18aaaf3806是容器的id

测试

创建index.php,在docker/nginx/www创建即可

cd /docker/nginx/www
vi index.php

在这里插入图片描述

创建完成之后,在浏览器输入自己的绑定的域名即可,记得输入你绑定的端口号
虚拟机 docker部署php_第5张图片

你可能感兴趣的:(PHP,docker,php,运维)