Docker 本地开发调试及如何发布 ?

我本机是 Win10 环境,然后使用 VMware创建了一台 CentOS7 的虚拟机,现在我的困惑如下:

1、以往做开发,直接在Win环境中创建 Php环境,然后开发,现在移植到 CentOS 上,我本地如何开发 ?

就是先不考虑 Docker, 我在虚拟机上搭配好环境,我工作的代码如何实时调试呢 ?将虚拟机站点映射到本地HOST ?那我写段代码然后复制到虚拟机一次吗 ??

2、使用 Docker 搭建 PHP环境,虽然这个过程我还不熟悉,但是问题是还不能很好的理解,除了搭建环境快速,以及后期部署不撕逼,还有什么优势呢 ? 我使用虚拟机和生产环境保持一致不也可以吗 ?

3、我当前的情况,使用Docker 后,是不是意味着宿主机和应用,又多了一层间隔 ?

4、大家都是如何使用 Docker 进行开发的,本地什么情况 。

谢谢大家 !

阅读 4.6k
3 个回答

我做的不是 PHP 而是 Python ,不过这方面都大同小异.

首先 Docker 的作用可以理解为是封装一个运行环境的 快照. 所以调试代码并不需要放在 Docker 里,代码调试完通过 Dockerfile 打包成 Docker 镜像即可.

这就意味着,你可以继续在 Windows 下开发调试 PHP,但是这样的话就应该尽量让开发环境和 Docker 基础镜像环境一致:即 PHP 环境版本、Server 之类的.

流程就是:

  1. Windows 下进行开发;
  2. 代码所在目录通过虚拟机的映射功能映射到 Centos 里,然后将这个目录 COPY(这里指的是 Dockerfile 的 COPY 指令)进镜像,配置好 Dockerfile 打包即可;
  3. 尝试运行打包出来的镜像,调整第二步中的各项配置(包括 PHP Server 的配置文件).

动态语言这种使用docker还是比较方便的,把你本地的代码挂载到docker里,要求你的docker是一个带有php运行时的环境。调试的时候没有必要每次都docker build.

我也是最近才学的,docker可以一键复制开发环境,你本地的代码和虚拟机的代码方式,一种共享文件方式,还有可以使用ftp方式网络传输,为啥使用docker,我觉得一次搞定,可以一直使用,我喜欢docker-compose 方式,真的是太便捷了,一条命令搞定开发环境

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题