你好,世界。
你好 Docker。
终于完成了第一个完整的项目的本地搭建,一个简单的Wordpress,使用Docker搭建,通过 docker-compose 构建了两个 container 分别作为 database 及apache 的服务器。另外使用了 Kitematic 进行后续的 container 和 image 的管理。
构建的具体过程就先略过,总结几点以后多注意的:
- MySQL 的 image 是用官方的5.5版本,而 PHP+Apache 的 image 则用第三方的,主要因为官方的 PHP+Apache 需要自己另外安装其它 extension,而第三方的 image 则已经搞掂。以后可以考虑自己写 Dockerfile 自定义安装 extension。
- docker-compose.yml 里的 volumes 指令可以设置主机到虚拟机的文件夹的映射,但要注意的是主机的文件夹路径是 docker-compose.yml 的相对路径,而且要以圆点开头(如:./path/to/host/dir:/path/to/container/dir/)。如没有指定主机的路径,docker 会自动分配。而在 MySQL 的 image 里已经声明了一个 /var/lib/mysql 的 volume,这里可以通过设置主机的路径,把 container 里面数据表存储到主机中具体的位置,方便做容灾/备份。
- 由于 Kitematic 已经被 Docker官方收购,安装的时候需要下载 docker-toolbox 安装,一并安装的还有 docker-machine,docker-machine 安装的时候会预设安装 virtual box 并创建一个预设的 docker-machine,这时候主机和 virtual box 的 docker-machine 可能会有冲突,重启电脑把 virtual box 里的 docker-machine 停掉理论上就没有问题了。
暂时到这就完成了一次基本的 LAMP 的环境部署。之后可以考虑把 Dockerfile 的配置都写到docker-compose.yml 文件里,这样理论上只需要一个 xml 文件,就可以完成跨平台的环境部署了。
Docker gitbook:https://yeasy.gitbooks.io/docker_practice/
Docker Hub:https://hub.docker.com/
Docker Kitematic:https://kitematic.com/