docker下多容器 快速搭建dnmp环境 并实现一键自动化部署

需求

假如有这样一个项目,在家开发需要搭建环境,在公司开发需要搭建环境,到测试需要搭建环境,到线上还需要搭建环境。而且搭建环境的时候,还要安装各种依赖,还可能出现,本地能用,测试不能用等各种情况。这个情况下,我们只需要在系统中装上Docker,写好Dockerfile,运行docker-compose.yml 就自动完成部署,保证了在各个平台上的一致性,岂不是既方便又高效。

多个容器的好处

搭建PHP环境,必需要启动的容器: nginx、php。当然,除了这些容器,还可能涉及到如:mysql、redis、Memcached 等相关扩展。

相比采用单容器部署(原生安装lnmp),多容器部署比较灵活,比如 在安装nginx的时候,出现了未知错误,而又不能解决,只能重装的时候,这时,我们只需要删除旧的ngxin容器,启动一个新nginx容器就行了,php等相关容器,不受任何影响。但是采用单容器部署,就相当于删除了整个环境,所有的东西都要重新安装部署。当然,单容器也好处,在保证正常运行的情况下,可以将此容器构建成一个新的镜像,每次使用的时候,只需要以此镜像启动一个容器就可以了。

资源

关于本次搭建涉及的相关文件跳转:资源
关于docker的安装跳转:docker安装
关于docker的使用命令跳转:

一、手动构建

  1. 拉取需求镜像

    docker pull php:7.2-fpm
    docker pull nginx
    docker pull mysql:5.7
    docker pull redis:3.2
    #版本号可根据实际需求选择
    
  2. 通过redis镜像启动一个redis容器

    docker run --name master-redis -p 6379:6379 -d redis:3.2
    
  3. 通过mysql镜像启动一个mysql容器

    docker run --name master-db -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
    

    # -e MYSQL_ROOT_PASSWORD 给mysql设置初始密码

  4. 通过php镜像启动一个php容器

    docker run -d -p 9000:9000 --name master-php -v d:/dnmp/www:/var/www/html -v d:/dnmp/php:/usr/local/etc/php --link master-db:master-db --link master
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值