MonicaHQ Docker 项目使用教程
dockerdocker image of Monica项目地址:https://gitcode.com/gh_mirrors/docker25/docker
1. 项目的目录结构及介绍
MonicaHQ Docker 项目的目录结构如下:
.
├── LICENSE
├── README.md
├── docker-compose.override.yml
├── docker-compose.yml
├── docs
│ └── ...
├── env.example
├── nginx
│ └── default.conf
└── php
└── Dockerfile
目录结构介绍
LICENSE
: 项目的许可证文件。README.md
: 项目说明文档。docker-compose.override.yml
: Docker Compose 配置文件的覆盖文件,用于本地开发环境。docker-compose.yml
: 主要的 Docker Compose 配置文件。docs
: 项目文档目录。env.example
: 环境变量示例文件。nginx
: Nginx 配置文件目录。default.conf
: Nginx 默认配置文件。
php
: PHP 相关文件目录。Dockerfile
: PHP 容器的 Dockerfile。
2. 项目的启动文件介绍
项目的主要启动文件是 docker-compose.yml
和 docker-compose.override.yml
。
docker-compose.yml
这是主要的 Docker Compose 配置文件,定义了生产环境下的服务配置。
version: '3.7'
services:
app:
image: monicahq/monicahq
depends_on:
- db
env_file:
- .env
ports:
- "80:80"
volumes:
- monica_data:/var/www/html
db:
image: mysql:5.7
env_file:
- .env
volumes:
- monica_db:/var/lib/mysql
volumes:
monica_data:
monica_db:
docker-compose.override.yml
这是用于本地开发环境的覆盖文件,通常包含一些开发相关的配置。
version: '3.7'
services:
app:
build:
context: .
dockerfile: php/Dockerfile
volumes:
- ./:/var/www/html
ports:
- "8080:80"
3. 项目的配置文件介绍
.env 文件
.env
文件用于配置环境变量,示例文件为 env.example
。你需要根据实际情况修改并重命名为 .env
。
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=monica
DB_USERNAME=homestead
DB_PASSWORD=secret
Nginx 配置文件
Nginx 配置文件位于 nginx/default.conf
,定义了 Nginx 服务器的配置。
server {
listen 80;
server_name localhost;
root /var/www/html/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass app:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
PHP Dockerfile
PHP 容器的 Dockerfile 位于 php/Dockerfile
,定义了 PHP 环境的构建配置。
FROM php:7.4-fpm
RUN apt-get update && apt-get install -y \
libpng-dev \
libonig-dev \
libxml2-dev \
zip \
unzip \
&& docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd
WORKDIR /var/www/html
COPY . /var/www/html
RUN chown -R www-data:www-data /var/www/html/storage /var/www/html/bootstrap/cache
CMD ["php-fpm"]
以上
dockerdocker image of Monica项目地址:https://gitcode.com/gh_mirrors/docker25/docker