TYPO3 Docker Boilerplate 使用教程
1. 项目的目录结构及介绍
TYPO3 Docker Boilerplate 项目的目录结构如下:
TYPO3-docker-boilerplate/
├── app/
│ ├── config/
│ ├── public/
│ ├── typo3/
│ └── ...
├── backup/
│ ├── database/
│ └── files/
├── docker/
│ ├── apache/
│ ├── mysql/
│ ├── php/
│ └── ...
├── .env
├── docker-compose.yml
├── Makefile
└── ...
目录结构介绍
app/
: 存放 TYPO3 项目的核心文件,包括配置文件、公共文件和 TYPO3 核心文件。backup/
: 用于存放数据库备份和项目文件备份。docker/
: 包含 Docker 容器的配置文件,如 Apache、MySQL 和 PHP 的配置。.env
: 环境变量配置文件。docker-compose.yml
: Docker 容器编排文件。Makefile
: 包含一些常用的命令,如数据库备份、项目打包等。
2. 项目的启动文件介绍
docker-compose.yml
docker-compose.yml
文件是 Docker 容器编排的核心文件,定义了如何启动和管理 Docker 容器。以下是该文件的主要内容:
version: '3'
services:
apache:
image: webdevops/apache:latest
volumes:
- ./app:/app
ports:
- "8000:80"
depends_on:
- mysql
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: typo3
MYSQL_USER: typo3
MYSQL_PASSWORD: typo3
volumes:
- mysql-data:/var/lib/mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
PMA_HOST: mysql
ports:
- "8080:80"
volumes:
mysql-data:
启动命令
要启动项目,可以使用以下命令:
sudo docker-compose up -d --build
3. 项目的配置文件介绍
.env
.env
文件用于配置项目的环境变量,以下是该文件的主要内容:
PHP_VERSION=7.4
SSH_HOST=remote_host
SSH_USER=remote_user
DATABASE_HOST=mysql
DATABASE_NAME=typo3
DATABASE_USER=typo3
DATABASE_PASSWORD=typo3
Makefile
Makefile
包含一些常用的命令,如数据库备份、项目打包等。以下是该文件的主要内容:
init-project:
rsync -avz --delete remote_user@remote_host:/path/to/remote/app/ ./app/
ssh remote_user@remote_host "mysqldump -u remote_user -p remote_password remote_database > /tmp/db.sql"
scp remote_user@remote_host:/tmp/db.sql ./backup/database/
sudo docker-compose down
sudo docker-compose up -d --build
sudo docker exec -i mysql_container mysql -u local_user -p local_password local_database < ./backup/database/db.sql
rm -f ./backup/database/db.sql
open http://localhost:8000
remote-backup:
mkdir -p ./backup/remote/$(shell date +%Y%m%d_%H%M%S)_project_name
ssh remote_user@remote_host "mysqldump -u remote_user -p remote_password remote_database > /tmp/db.sql"
scp remote_user@remote_host:/tmp/db.sql ./backup/remote/$(shell date +%Y%m%d_%H%M%S)_project_name/
rsync -avz --delete remote_user@remote_host:/path/to/remote/app/ ./backup/remote/$(shell date +%Y%m%d_%H%M%S)_project_name/
通过以上配置文件和命令,可以方便地启动和管理 TYPO3 Docker Boiler