使用 docker 搭建 Laravel 开发环境

更新日期: 2016-12-12 阅读次数: 6481 分类: docker

每次新装一次系统,都重新搭建一套开发环境非常麻烦。而我又是一个喜欢更新新系统的人。这不,刚安装了 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 聊聊, 查看更多联系方式