使用 docker 搭建 Laravel 开发环境

文章目录

    每次新装一次系统,都重新搭建一套开发环境非常麻烦。而我又是一个喜欢更新新系统的人。这不,刚安装了 Ubuntu 16.10,又得重新搭建 Laravel 的开发环境。

    • 安装 PHP 7.0
    • 安装 composer
    • 安装各种依赖 php-xml 等

    docker 对系统的依赖

    • 64 位系统
    • linux 内核 3.10 以上

    Ubuntu 16.10 linux 内核为

    uname -r
    

    > 4.8.0-22-generic

    Ubuntu 16.10 上安装 docker

    参考 16.04 的安装文档即可
    How To Install and Use Docker on Ubuntu 16.04

    安装 docker-compose

    https://docs.docker.com/compose/overview/

    docker 的方案

    • https://hub.docker.com/r/tommylau/php-5.2/
    • https://laravel-china.org/topics/2960

    docker 教程

    https://www.gitbook.com/book/yeasy/docker_practice/details

    如何从宿主机访问 docker 中的网络服务

    是否有足够小的容器

    http://docs.daocloud.io/allen-docker/docker-image

    对系统内存的占用比虚拟机真得少么?

    系统如何复用

    Mac 上安装 Docker

    到官网下载 Docker 太慢了,根本不动,最好的方法是到 DaoCloud 去下载,下载地址

    点击安装即可。然而,安装完成之后,我不知道该干什么了。。。

    container 与 image 的区别

    • docker image 是一个只读的模板。例如,ubuntu 操作系统
    • docker container 是 image 的运行实例。例如,运行的 ubuntu 操作系统

    docker pull <Username>/<Something> 是在干啥

    这类似于 git pull 的概念,从远端代码仓库拉取 image 文件。

    常见的 docker 仓库为 DockerHub.

    常用命令

    docker --version
    

    > Docker version 1.12.1, build 6f9534c

    docker-compose --version
    

    > docker-compose version 1.8.0, build f3628c7

    docker-machine --version
    

    > docker-machine version 0.8.1, build 41b3b25

    docker, docker-compose, docker-machine 区别是什么

    docker image 下载慢怎么办

    使用 DaoCloud 加速器

    docker 的 hello world

    docker run -d -p 80:80 --name webserver nginx
    

    然后在浏览器中打开 http://localhost 即可看到 nginx 的欢迎页面。

    docker ps 
    

    可以看到

    docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                         NAMES
    c6790b337ace        nginx               "nginx -g 'daemon off"   38 seconds ago      Up 31 seconds       0.0.0.0:80->80/tcp, 443/tcp   webserver
    

    疑问,哪里更改 nginx 配置文件呢?

    如何停止一个 container

    docker stop <对应的 container id>

    container id 从 docker ps 的输出中查找。

    参考

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式