美文网首页
fastadmin Dockerfile 部署

fastadmin Dockerfile 部署

作者: AGEGG | 来源:发表于2023-04-13 15:29 被阅读0次

文件路径

config 下存放 Dockerfile 和 nginx.conf
dist 下存放 fastadmin的项目文件

ex.文件中kbs为项目名

Dockerfile

# 从ubuntu镜像中构建应用
FROM ubuntu:latest
 
# 设置镜像的制作者
MAINTAINER agegg

RUN  sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
RUN  apt-get clean
 
# 安装nginx + php-fpm7.4 + php-gd
 
RUN apt-get update && apt-get -y upgrade && apt-get install -y nginx php7.4-fpm vim
RUN apt-get install -y php-mysql php-gd 
# 上一条命令安装nginx和fpm
# nginx 默认安装路径 /etc/nginx/
# php-fpm 默认安装路径 /etc/php/fpm/
# nginx配置文件存放目录 /etc/nginx/conf.d/ 
# nginx默认项目路径 /var/www/html/
 
# 在上传目录之前,可以先删除旧项目代码
# RUN ["rm", "-rf", "/var/www/kbs/"]
 
# 项目文件上传, 把当前目录下的所有文件上传到/var/www/kbs目录下
COPY ./dist/ /var/www/kbs/
 
# 把当前项目的nginx.conf配置文件上传到/etc/nginx/conf.d/目录下
COPY ./config/nginx.conf /etc/nginx/conf.d/default.conf
 
# 容器运行时启动应用
# php-fpm7.4 -D : 启动fpm并在后台运行
# nginx -g 'daemon off;' : 启动nginx, 前台执行, 并保持进程常驻, 避免docker容器启动后就自动关闭了
CMD php-fpm7.4 -D && nginx -g 'daemon off;'

nginx.conf

server{
    listen 8080;
    root /var/www/kbs/public;
    
    location / {
        index index.html index.htm index.php;

        if (!-e $request_filename) {
            rewrite ^(.*)$ /index.php?s=$1 last;
        }
    }
 
    # pass the PHP scripts to FastCGI server
    location ~ \.php(/.*)?$ {
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_index  index.php;
        include fastcgi_params;
        add_header Access-Control-Allow-Methods *;
        add_header Access-Control-Max-Age 3600;
        add_header Access-Control-Allow-Origin $http_origin;
        add_header Access-Control-Allow-Headers $http_access_control_request_headers;

        fastcgi_split_path_info ^((?U).+?\.php)(/.*)$;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param REMOTE_X_IP $remote_addr;
        set $Real $proxy_add_x_forwarded_for;
        if ( $Real ~ (\d+)\.(\d+)\.(\d+)\.(\d+)\.(.*) ) {
            set $Real $1.$2.$3.$4;
        }

        proxy_set_header  X-Real-IP $Real;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }

}

部署

# 解压 (提前将文件打包成tar上传到服务器)
tar -xvf fastadminDocker.tar
cd fastadminDocker

# build
docker build -f config/Dockerfile -t phpkbs:latest .

# run
docker run -itd -p 80:8080 phpkbs:latest

常用命令

# 查看镜像
docker images
# 查看容器
docker ps -a
# 删除容器
docker rm -f  <CONTAINER ID>
# 删除镜像
docker rmi <IMAGE ID>

# 进入容器内
docker exec -it <CONTAINER ID> /bin/bash

# 容器内项目地址
cd /var/www/kbs
# 重启重启nginx
service nginx restart
# php.ini 位置
cd /etc/php/7.4/cli


相关文章

网友评论

      本文标题:fastadmin Dockerfile 部署

      本文链接:https://www.haomeiwen.com/subject/lniaddtx.html