美文网首页iOS首页投稿(暂停使用,暂停投稿)程序员
mac上安装实践docker搭建外包开发平台

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

作者: 化猿 | 来源:发表于2016-04-20 19:07 被阅读646次

    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 开发环境

    相关文章

      网友评论

      本文标题:mac上安装实践docker搭建外包开发平台

      本文链接:https://www.haomeiwen.com/subject/vcttrttx.html