Docker
- 1 ответ
- 0 вопросов
3
Вклад в тег
project
- scr/ #Код проета под контролем версий в git
- Dockerfile
- phpfile1.php
- phpfile2.php
- etc.php
- db_data/ #папка где будут сохранятся база данных. (иначе каждый запуск контейнера будет ее обнулять)
- docker-compose.yml
- site.conf #конфиг для виртуального хоста nginx
- nginx.conf #конфиг nginx
version: '2'
services:
nginx:
image: nginx:latest
ports:
- "8080:80"
volumes:
- ../src/:/app
- ./site.conf:/etc/nginx/conf.d/site.conf
- ./nginx.conf:/etc/nginx/nginx.conf
links:
- php
db:
image: mysql:5.7
volumes:
- ./db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: 123
MYSQL_DATABASE: changeme
MYSQL_USER: changeme
MYSQL_PASSWORD: 123
ports:
- "33306:3306"
php:
build: ../src
volumes:
- ../src:/app
depends_on:
- db
environment:
PHP_DB_HOST: db:3306
PHP_DB_USER: changeme
PHP_DB_PASSWORD: 123
FROM php:fpm
RUN apt-get update && \
apt-get install -y \
openssl \
git \
curl \
unzip
RUN docker-php-ext-install pdo pdo_mysql
ADD . /app
WORKDIR /app
return [
'class' => 'yii\db\Connection',
'dsn' => "mysql:host=db:3306;dbname=donor", // db:3306 - это services имя контейнера с mysql в docker-compose.yml
'username' => getenv('PHP_DB_USER'), // это переменные окружения для контейнера тоже из docker-compose.yml
'password' => getenv('PHP_DB_PASSWORD'),
'charset' => 'utf8',
];
class BaseController extends \yii\web\Controller
{
public function beforeAction($action)
{
if (!parent::beforeAction($action)) {
return false;
}
// Тут прописать логику или вызвать отслеживающий сервис
return true;
}
}
class MyController extends BaseController
{
public function actionIndex()
{
.....
CREATE TABLE employees (
id INT NOT NULL,
fname VARCHAR(30),
lname VARCHAR(30),
hired DATE NOT NULL DEFAULT '1970-01-01',
separated DATE NOT NULL DEFAULT '9999-12-31',
job_code INT,
store_id INT
)
PARTITION BY RANGE ( YEAR(separated) ) (
PARTITION p0 VALUES LESS THAN (1991),
PARTITION p1 VALUES LESS THAN (1996),
PARTITION p2 VALUES LESS THAN (2001),
PARTITION p3 VALUES LESS THAN MAXVALUE
);