为了快速提高工作环境,有很多方法。 其中之一是在Docker容器中引发所有必要的服务。 为了加快在Yii框架上创建新项目的速度,我写了一条很小的说明,供团队中的开发人员使用。
首先,您应该拥有docker,docker-compose,php和php-composer。
我们创建包含项目和docker文件夹的文件夹。
mkdir project-dir cd project-dir && mkdir docker
在docker文件夹中,为我们的Dockerfile容器创建配置文件。
# nginx php FROM richarvey/nginx-php-fpm # ADD app /var/www/app # RUN rm -Rf /etc/nginx/sites-enabled
在相同的docker文件夹中,创建docker-compose.yml以引发开发环境。
# docker-compose version: '3' # deafult networks: default: driver: bridge # services: # - app: # Dockerfile build: # context: ../ dockerfile: ./docker/Dockerfile # 80 ports: - "80:80" # networks: - default # db depends_on: - db # volumes: - "../app:/var/www/app" # nginx - "./conf/nginx:/etc/nginx/sites-available" # db: image: mysql:latest # networks: - default # ports: - "3336:3306" # environment: # MYSQL_ROOT_PASSWORD: root # MYSQL_DATABASE: yii-template-db # volumes: - "./database:/var/lib/mysql"
对于nginx,在其中创建docker / conf / nginx文件夹及其site.conf文件。 该文件可能会更改,具体取决于您要如何在项目上配置nginx。 可以在本地更改,因为 它通过音量连接。 但是我们一定不要忘记在容器内重新启动Nginx: nginx -s reload
server { charset utf-8; client_max_body_size 128M; listen 80;
所有命令均从根文件夹执行。
composer create-project --prefer-dist yiisoft/yii2-app-advanced app
创建命令composer create-project --prefer-dist yiisoft/yii2-app-advanced app
。- 在
docker-compose -f docker/docker-compose.yml up -d
运行docker-compose -f docker/docker-compose.yml up -d
- 我们初始化项目
app/init --env=Development --overwrite=All
- 在编辑器中打开文件app / common / config / main-local.php,并在其中填充数据以连接到数据库。 在该示例中,我们以root密码为root,数据库主机为db,数据库名称为yii-template-db。
- 连接到
docker exec -it docker_app_1 bash
容器docker exec -it docker_app_1 bash
- 运行数据库迁移命令
php /var/www/app/yii migrate
migration - 创建一个日志文件夹
mkdir /var/www/app/log
- 然后
exit
- 我们
docker-compose -f docker/docker-compose.yml down
服务docker-compose -f docker/docker-compose.yml down
- 再次运行
docker-compose -f docker/docker-compose.yml up -d
- 在浏览器中打开localhost并查看新站点。
Upd:值得一提的是,始终有Yii2的官方Docker镜像 。