mac上安装实践docker搭建外包开发平台

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。他很轻巧,CPU/内存低消耗,所也笔者选择了docker作为虚拟化工具

1.安装for Mac

从官网下载dockerDocker Toolbox,下载完成,点下一步下一步就安装好了是不是很简单。

2.构建镜像

docker search [name]  #查找官网提供的镜像
docker pull busybox  #安装官网提供的镜像

3.构建php开发环境

使用Dockerfile文件

# 从官方PHP镜像构建
FROM       php

# 将index.php复制到容器内的/var/www目录下
ADD        index.php /var/www/

# 对外暴露8080端口
EXPOSE     8080

# 设置容器默认工作目录为/var/www
WORKDIR    /var/www/

# 容器运行后默认执行的指令
ENTRYPOINT ["php", "-S", "0.0.0.0:8080"]

构建容器

docker build -t allovince/php-helloworld .

运行这个容器

docker run -d -p 8080:8080 allovince/php-helloworld

安装更多的服务

FROM       php
ADD        index.php /var/www/

# 安装更多服务
RUN        apt-get install -y \
           mysql-server \
           nginx \
           php5-fpm \
           php5-mysql

# 编写一个启动脚本启动所有服务
ENTRYPOINT ["/opt/bin/php-nginx-mysql-start.sh"]

这种安装方式会有也下问题:

  1. 如果需要验证某个服务的不同版本,比如测试PHP5.3/5.4/5.5/5.6,就必须准备4个镜像,但其实每个镜像只有很小的差异。
  2. 如果开始新的项目,那么容器内安装的服务会不断膨胀,最终无法弄清楚哪个服务是属于哪个项目的

使用单一的容器安装方式:

FROM ubuntu:14.04
RUN  apt-get update -y && apt-get install -y nginx

FROM ubuntu:14.04
RUN  apt-get update -y && apt-get install -y mysql
这种方式的优点在于所有服务可以有一个统一的基础镜像,对镜像进行扩展和修改时可以使用同样的方式,比如选择了ubuntu,就可以使用apt-get指令安装服务。

这种方式的优点在于所有服务可以有一个统一的基础镜像,对镜像进行扩展和修改时可以使用同样的方式,比如选择了ubuntu,就可以使用apt-get指令安装服务。

问题在于大量的服务需要自己维护,特别是有时候需要某个服务的不同版本时,往往需要直接编译源码,调试维护成本都很高。

参考

Docker在PHP项目开发环境中的应用

基于 Docker 的 PHP 开发环境

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,737评论 15 147
  • 0. 前言 docker是什么?docker是用GO语言开发的应用容器引擎,基于容器化,沙箱机制的应用部署技术。可...
    sessionboy阅读 9,305评论 2 49
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,212评论 19 139
  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 13,597评论 0 120
  • 今天练了背,那就先谈谈关于背部最大的一块肌肉:背阔肌。 背阔肌,作为背部最大的一块肌肉,直接决定了给人...
    小熊健身阅读 3,989评论 0 3

友情链接更多精彩内容