docker下安装php+nginx

1、安装docker(安装 Docker Engine-Community)

我使用的是centos8.0系统

sudo yum makecache fast # 更新yum缓存
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo systemctl start docker #启动docker    
2、安装nginx
docker search nginx(搜索nginx的版本信息)
docker pull nginx:latest(拉取最新版本的nginx)
docker images nginx #查看安装结果
docker run --name nginx-test -p 80:8081 -d nginx #运行一个nginx容器,nginx-test是容器名称
mkdir -p /data/www/html /data/nginx/conf /data/nginx/logs #创建个人目录,保存信息
docker cp aa1b73fe0db1:/etc/nginx/nginx.conf /data/nginx/conf #从一个成功运行的nginx容器中把配置文件复制过来(查看成功运行的nginx---docker ps -a  aa1b73fe0db1对应的是CONTAINER ID)
docker run -d -p 80:8080 --name nginx-web -v /data/www/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx nginx #创建新的容器,将配置文件挂载到刚才创建的文件中
3、安装php
docker pull php:latest #我这里拉取的是最新的php(可使用docker search php获取相应的php)
docker run --name  php:7.4.10-fpm -v /data/www/html:/www  -d php:7.4.10-fpm #创建php容器,这里注意挂载的文件目录要和nginx的最好一致
4、nginx和php协调配置
mkdir /data/nginx/conf.d #创建保存nginx配置文件的目录(注意权限设置)

在目录中添加nginx.conf文件,文件内容如下:

 server {
        listen       80;
        server_name  localhost;
    
        location / {
            root   /usr/share/nginx/html;
            index  index.php index.html index.htm;
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
   
        location ~ \.php$ {
            fastcgi_pass   php:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
5、创建新的nginx和php关联容器
docker run --name php-nginx-web -p 80:8081 -d \
        -v /data/www/html:/usr/share/nginx/html:ro \
        -v /data/nginx/conf.d:/etc/nginx/conf.d:ro \
        --link php:7.4.10-fpm:php \
        nginx  #注意其他nginx容器最好关闭,php容器一定要打开
解析

1、安装docker

sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2、启动和停止docker

sudo systemctl start docker #启动docker 
sudo systemctl stop docker #停止docker 

3、docker中安装相关应用(如:php,nginx,redis)

docker search 应用名称-->列nginx  docker search nginx(获取nginx版本信息,然后选择对应的版本信息)
docker pull nginx:latest (拉取应用最新的版本)
docker images(查看docker中安装的应用) 也可以 docker images nginx(搜索对应的目标)
docker ps -a 查看运行中的应用
docker run -itd --name nginx-test -p 8080:80  nginx(运行容器)
说明:
--name nginx-test:容器名称。
-p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
-d nginx: 设置容器在在后台一直运行。
docker exec -it node-test /bin/bash(进入查看容器)
docker rm -f CONTAINER ID 根据id移除运行中应用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值