/docker

yii2 - nginx + php7.2 + mysql + redis

Primary LanguageDockerfileMIT LicenseMIT

nginx-php7.0-mysql docker

使用方法:

首先安装Docker, 有条件的推荐用前两个方式,老设备用Toolbox,对号入座

下载项目

$ git clone 

配置环境变量

$ cp .env.back  .env

修改代理,对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)

 {
    "registry-mirrors": [
      "https://docker.mirrors.ustc.edu.cn"
    ]
  }

重启服务

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker      

启用+build

$ docker-compose up -d

重新build

$ docker-compose down

服务命令

$ docker-compose start | stop | restart 

进入容器

$ docker exec -it nginx bash  

然后打开浏览器,就可以在http://localhost 访问到项目, 通过http://localhost:8080 访问phpmyadmin

安装额外的PHP扩展可修改php/Dockerfile,然后再重新build

注意:PDO 数据库连接

//localhost 是mysql容器名字
$ mysql:host=localhost;dbname=project 

ssl 选择的是 letsencrypt ,需要自行配置 教程

// 进入容器 
$ docker exec -it docker_nginx_1 bash 
// 安装Certbot客户端 
$ apt-get update && apt-get install certbot  &&  apt-get install cron

// 获取证书 
// 泛指
$ certbot certonly -d *.amsimple.com --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory --config-dir=/xxx

// 配置情况 nginx/vhosts/ssl.conf.back

//certbot renew --config-dir=/app/docker/nginx/ssl/ --dry-run

// 脚本更新
$ crontab -e
$ 15 2 * */2 * /usr/bin/certbot renew --config-dir=/xxx  >> /var/log/le-renew.log

$ crontab    certbot-auto-renew-cron