在Windows 10上使用Docker共享要处理的项目?

在Windows 10上使用Docker共享要处理的项目?,windows,docker,dockerfile,Windows,Docker,Dockerfile,我是一名初级网络开发人员,在一家小型网络公司工作。我们在windows 10上工作,使用wampserver,主要使用Prestashop、Wordpress和Symfony网站。对于每一项任务,我都会得到一张“票”,我必须在新的分支上开发(如果需要的话)。当工作完成后,我将我的分支合并到位于预生产服务器上的开发分支上,如果认为可以,则将其合并到主分支上,主分支是位于另一台服务器上的生产中的网站 我的任务是对Docker进行一些研究,并找出它如何改进我们的工作流程 但据我所知,docker容器与

我是一名初级网络开发人员,在一家小型网络公司工作。我们在windows 10上工作,使用wampserver,主要使用Prestashop、Wordpress和Symfony网站。对于每一项任务,我都会得到一张“票”,我必须在新的分支上开发(如果需要的话)。当工作完成后,我将我的分支合并到位于预生产服务器上的开发分支上,如果认为可以,则将其合并到主分支上,主分支是位于另一台服务器上的生产中的网站

我的任务是对Docker进行一些研究,并找出它如何改进我们的工作流程

但据我所知,docker容器与虚拟机非常相似,仅用于构建隔离环境,以便在不考虑依赖关系的情况下测试应用程序

但是考虑到我们已经有了一个预生产服务器,我不认为使用Docker有什么意义?我错过什么了吗

此外,Docker是否可以用于团队成员之间共享项目(我们都在Windows上工作)?(例如,一个开发人员正在本地开发一个网站,他是否可以创建一个容器及其映像,以便在没有其他开发人员配置的情况下立即使用它?)

但据我所知,docker容器与虚拟机非常相似,仅用于构建隔离环境,以便在不考虑依赖关系的情况下测试应用程序

不,Docker容器不仅仅对测试有用

在使用Docker构建正确的工作流时,如果开发、暂存和生产都使用相同的Docker映像,则可以实现100%的对等

但是考虑到我们已经有了一个预生产服务器,我不认为使用Docker有什么意义?我错过什么了吗

这个预生产服务器,也就是通常所称的
暂存
服务器,也应该使用docker来运行代码

此外,Docker是否可以用于团队成员之间共享项目(我们都在Windows上工作)?(例如,一个开发人员正在本地开发一个网站,他是否可以创建一个容器及其映像,以便在没有其他开发人员配置的情况下立即使用它?)

是的。。。您创建的基本docker映像只包含在生产中运行的必要内容,并且可以使用必要的开发人员工具从中构建其他docker映像

生产图像
公司/应用程序名称

FROM php:alpine

# other your production dependencies here
假设他们用名称
company/app name
构建docker镜像,然后构建用于开发的镜像

开发图像
公司/应用程序名称dev

FROM company/app-name

# add here only developer tools
现在,开发人员在开发期间使用图像
company/app name
company/app name dev
,并且在暂存服务器中,只有
company/app name
docker图像将用于运行代码

在这个流程中进行了长达数月的交互之后,您甚至可以满怀信心地开始使用
公司/应用程序名称
将应用程序部署到生产环境中,现在您的开发、登台和生产之间达到了
100%
的平衡

请看一下,从中可以获得一些灵感,因为我为我的最新工作制定了这个目标,但当我们在开发过程中采用它时,我最终离开了公司


但是,不要将您需要的所有服务放在一个docker映像中,因为这在docker中是一种不好的做法,而是对每个docker映像使用一个服务,例如一个用于PHP的服务,另一个用于数据库,另一个用于Nginx服务器,等等。。看看如何使用docker compose组合多个服务。

好的,非常感谢,这是一个非常完整的答案。从我收到的否决票来看,我想这是一个愚蠢的问题,但我明确提到我是一名初级开发人员,所以我不明白。无论如何,非常感谢你的建议和你的docker stack,它肯定会帮助我。很高兴能够帮助。。。如果Php Docker堆栈在Windows上不工作,请告诉我,千万不要在那里测试它。好的,一旦我测试它,我会给你一个反馈。再次感谢。