docker-compos安装php项目-可道云kodbox

docker-compos安装php项目-可道云kodbox

新的方式:https://docs.kodcloud.com/setup/dsm7_docker/

kodbox:
    image: kodcloud/kodbox
    container_name: kodbox
    environment:
      # APACHE_DOCUMENT_ROOT=/var/www/html/public
      # 时区上海
      TZ: Asia/Shanghai
      MYSQL_HOST: mysql
      REDIS_HOST: redis
    ports:
      - 8086:80
    volumes:
      - "./data/kodbox/html:/var/www/html"
    env_file:
      - db.env
    # privileged: true
    restart: no
    networks:
      my_net:
        ipv4_address: 172.30.0.164
    deploy:
      resources:
        limits:
          #cpus: 0.25
          memory: 512M
        reservations:
          #cpus: 0.2
          memory: 256M

  kodoffice:
    image: kodcloud/kodoffice:7.4.1.1
    container_name: kodoffice
    ports:
      - 8087:80
    environment:
      - PRODUCTION_EDITION=true
      - REDIS_ENABLED=false
      - REDIS_SERVER_HOST=localhost
    restart: no
    networks:
      my_net:
        ipv4_address: 172.30.0.166
    deploy:
      resources:
        limits:
          #cpus: 0.25
          memory: 512M
        reservations:
          #cpus: 0.2
          memory: 256M

从仓库下载

git clone https://github.com/kalcaddle/kodbox.git
git clone https://gitee.com/thinkyoung/kodbox.git

复制待对应目录

将内容复制到./data/kodbox/html目录

编写Dockerfile

FROM php:7.4-apache

RUN docker-php-ext-install pdo_mysql
RUN docker-php-ext-install mysqli

#COPY ./ /var/www/html/

EXPOSE 80

构建镜像

docker build -t "php:7.4-apache-mysql" .

修改配置文件docker-compose.yml

services:
  php-kodbox:
    image: php:7.4-apache-mysql
    #image: php:7.4-apache
    #image: php_app:latest
    container_name: php-kodbox
    environment:
      # APACHE_DOCUMENT_ROOT=/var/www/html/public
      # APACHE_STATIC_PORT_80: 8086 # 没有用
      # 时区上海
      TZ: Asia/Shanghai
    ports:
      - "8086:80"
    volumes:
      - ./data/kodbox/html:/var/www/html
      # - ./data/kodbox/conf/ports.conf:/etc/apache2/ports.conf
      # - ./data/kodbox/log:/var/log/apache2
      #- ./data/kodbox/certs:/etc/apache2/ssl
    # privileged: true
    restart: no
    networks:
      my_net:
        ipv4_address: 172.30.0.162
    deploy:
      resources:
        limits:
          #cpus: 0.25
          memory: 512M
        reservations:
          #cpus: 0.2
          memory: 256M
networks:
  my_net:
    driver: bridge
    ipam:
      config:
        - subnet: 172.30.0.0/16

可以修改php启动端口

容器内的配置文件/etc/apache2/ports.conf

nginx代理返回静态文件中路径不带端口的问题

修改配置文件/etc/nginx/nginx.conf
proxy_set_header Host $host;改为proxy_set_header Host $host:$server_port;

    server {
        listen       8086;
        server_name  localhost;
        #gzip off;

        location / {
            proxy_set_header Host $host:$server_port;    # 这里加上$host:$server_port
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://10.***.***.46:8086/;
            proxy_set_header  X-Forwarded-Proto  $scheme;
            #sub_filter 'src="/' 'src="http://111.***.***.61:8086/';
            #sub_filter_once off;
        }
    }
posted @   明月心~  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2022-11-22 VPN网络下maven报错“Could not transfer artifact xxx from/to xxx” 解决方案
点击右上角即可分享
微信分享提示