gundars/docker-devbox

Docker Devbox PHP 7.1 fpm with Nginx 1.10.3 OR Apache 2.4 on Ubuntu, Redis, Mail server, Blackfire profiler

安装: 16

依赖: 0

建议者: 0

安全: 0

星标: 3

关注者: 2

分支: 1

开放问题: 0

语言:Shell

0.1.0 2017-10-17 15:08 UTC

This package is not auto-updated.

Last update: 2024-09-19 05:00:04 UTC


README


   Devbox
   
   Host: Windows/Linux/Mac
   Guest: Vagrant (Ubuntu 16:04 x64)
   Features: PHP 7.1 fpm with Nginx 1.10.3 :80 AND Apache 2.4 :8080 on Ubuntu, Redis, Mail server, Blackfire profiler
   
   Docker Containers:
   NAMES                  CONTAINER ID    CREATED AT                       CREATED        SIZE                 
   devbox-redis           21cef0e80862    2017-10-12 16:47:49 +0200 CEST   31 hours ago   0B (virtual 107MB)
   devbox-blackfire       6036ab2d0053    2017-10-12 16:47:49 +0200 CEST   31 hours ago   0B (virtual 21.6MB)
   devbox-php-nginx       c1ef009da069    2017-10-12 16:47:49 +0200 CEST   31 hours ago   83.8kB (virtual 710MB)
   devbox-php-apache      6ab2d09af114    2017-10-12 16:47:49 +0200 CEST   31 hours ago   83.8kB (virtual 670MB)
   devbox-mailserver      ea620ae114ca    2017-10-12 14:08:13 +0200 CEST   34 hours ago   0B (virtual 19.3MB)
  
   PHP + Nginx   at http://devbox.local
   PHP + Apache2 at http://devbox.local:8080
   Mailhog       at http://devbox.local:8025
   Mailhog SMTP  at http://devbox.local:1025
   Redis         at http://devbox.local:6379
   

初始设置

  • 安装Virtualbox, Vagrant, Git Bash
  • 192.168.66.66 devbox.local 添加到hosts文件
  • Git克隆此仓库
  • example.env 复制到 .env
  • 执行 vagrant up --provision
  • 检查 http://devbox.localhttp://devbox.local:8080 是否工作
  • 在PHPStorm或其他IDE中创建项目,源代码位于Windows PC上的./www目录
  • ./www, ./logs, ./作为/vagrant目录与Docker容器进行三向同步

日常使用

额外日常使用

  • vagrant reload - 重新启动盒子,重新创建Docker容器
  • vagrant suspend - 将盒子复制到内存中并挂起
  • vagrant halt - 关闭盒子
  • vagrant halt + vagrant destroy devbox + vagrant up - 完全重置一切
  • 在虚拟机中执行sudo docker-cleanup && cd /vagrant && sudo docker-compose up -d,以完全重置Docker容器

注意

  • www, logs, scripts 3-way sync: ./www目录使用rsync同步到vagrant盒子的/var/www,该目录再同步到web容器中的/var/www
  • 使用./www目录或/vagrant目录将文件传递到容器
  • 使用docker-cleanup命令在vagrant盒子中查找并销毁所有与Docker相关的文件
  • 通过putty (ubuntu:ubuntu)或vagrant ssh命令行工具访问vagrant盒子的控制台
  • 进入Vagrant的控制台后,访问单个容器的控制台
    • sudo docker ps将输出包括web容器ID等详细信息
    • sudo docker exec -i -t CONTAINER_ID_HERE /bin/bash将SSH进入容器
    • 或者直接通过名称:sudo docker exec -i -t `sudo docker ps -aqf "name=devbox-php-nginx"` /bin/bash
    • 要执行非shell命令,请从上一条命令中删除-i选项
  • mailserver接受任何值,例如:<?php mail("recipient", "subject", "message", "From: Sender");
  • 如果vagrant up失败并显示"Can't locate /vagrant dir in guest box.",请执行vagrant reload
  • 如果vagrant up失败并显示"The machine is in the 'unknown' state.",请执行vagrant halt
  • 如果vagrant up失败并显示"Temporary failure resolving 'archive.ubuntu.com'",请在Windows主机设置中禁用和启用网络适配器