本篇教程持续编写了3个星期左右而且一直在完善、补充具体的细节和实践,预计所有完成须要1到2个月的时间。因为编写的过程当中极其费时,而且还须要配合作一些实践(有些实践存在一些坑,并且极其费时费事)。所以目前产出的速度已经跟不上发布的速度了,后续的发布节奏会放慢,请你们多多理解和多多包含。html
在这个过程当中,咱们但愿可以多多交流,多多分享。根据目前和你们的交流,笔者针对你们的状况进行了一些修改和补充,但愿对你们有所帮助。另外,对于熟悉容器服务的你,也能够参与进来,让咱们一块儿打造这个系列教程,以帮助更多的人。同时,咱们也但愿获得你们的支持,大家的支持是咱们前进的最大动力!前端
若是应用程序只有一个容器,则可经过将其部署到 Docker 主机(虚拟机或物理服务器)来运行该程序。 但若是应用程序包含多项服务,则可以使用单个 CLI 命令 (docker-compose up) 或使用 Visual Studio(会在其中使用该命令)将其部署为组合应用程序。git
单个应用,就如咱们上面的demo :github
docker run --name aspnetcore_sample --rm -it -p 8000:80 microsoft/dotnet-samples:aspnetappdocker
应用程序启动后,使用浏览器打开http://localhost:8000,便可看到如下界面:小程序
可是如Magicodes.Admin框架所示,有后台接口、后台前端应用、前端接口、小程序端、APP等等,那么咱们能够经过上面配置的docker-compose文件来部署为组合应用程序。执行起来很简单,只须要运行如下命令:浏览器
docker-compose up服务器
执行以后,咱们能够看到:架构
Magicodes.Admin提供了本地编译、打包、构建镜像以及运行等整套脚本,在一般状况,咱们仅需一键运行脚本便可。app
脚本会自动完成对后台服务和前端应用的构建以及运行。在上一节中,咱们说到,Visual Studio对这块已经完成了相关的支持,若是是使用Visual Studio的开发者,仅需按下F5便可运行。
容器正常运行了,咱们可让测试人员来访问咱们的服务来进行相关的功能测试和可用性测试。固然,咱们也能够编写自定义脚本进行自动化测试,就如前面章节中Docker-compose经常使用场景中提到的自动化测试环境:
开发完成后,咱们就须要部署咱们的应用,而且继续项目迭代。在部署以前,咱们须要推送咱们的镜像,好比使用docker push命令,咱们能够将镜像推送到docker的官方镜像库,也能够推送到各大云本身的镜像库,而后再经过docker pull命令拉取镜像进行部署。同时,也可使用一些CI(持续集成)工具来完成自动化的边开发边部署的工做。CI这块,咱们接下来会介绍基于Azure DevOps、Tencent hub、Jenkins以及TeamCity等服务或工具来完成CI。在本节,咱们继续了解镜像推送的语法:
docker push {镜像名称}:{镜像版本}
在推送以前,咱们须要登陆到一个镜像仓库,若是未指定镜像仓库地址,默认为官方仓库 Docker Hub。相关语法以下所示:
docker login --username {用户名} --password {密码} {仓库地址}
推送成功以后,以下所示:
关于部署和托管这块,接下来咱们以腾讯云的容器服务进行举例。
为何是腾讯云,由于他家的创业服务支持活动赞助了咱们不少代金券,基本上接近免费,所以从成本考虑,咱们首选腾讯云(腾讯云:瞎说什么大实话)。
部署完成以后,咱们能够继续产品或项目的迭代。在整个开发工做流中,咱们能够显著的看到,因为Docker的出现,在必定层次上改变了咱们的工做和交付流程,而且能够大大的简化CI、CD流程。或者就从构建上来讲,配置dockerfile来完成构建,比传统的方式来的迅猛多了。而配置docker-compose.yml一次启动多个服务,简直是分布式架构、微服务架构开发和测试人员的福音。
至此,整个Docker持续开发工做流程就到此结束,在后面的篇幅,咱们侧重于从实战的角度来说解这些内容。
这里,咱们先插播一个内容。本节,咱们先来介绍下Kitematic。
Kitematic是一个开源项目,旨在简化在Mac或Windows PC上使用Docker的过程。Kitematic自动化Docker安装和设置过程,并提供直观的图形用户界面(GUI)来运行Docker容器。
所以,咱们推荐你们使用Kitematic工具来查看和管理本身的容器服务,若是还没有安装此工具,你们能够经过如下方式进行安装:
从Docker for Mac或Docker for Windows菜单中选择Kitematic,开始使用Kitematic安装。以下图所示:
注意:这里咱们不推荐使用Docker Toolbox,缘由咱们在前面已经说过,Docker Toolbox仅支持老版本的操做系统,属于过期的工具。
安装完成以后,启动后能够看到以下界面:
也能够点击某个服务来查看详情、相关设置、日志等:
另外,Kitematic 集成了Docker Hub,容许经过搜索、拉取任何须要的镜像,并在上面部署应用。它同时也能很好地切换到命令行模式。目前,它包括了自动映射端口、可视化更改环境变量、配置卷、流式日志以及其它功能。
注意:若是安装完成后若是没法打开,请将Kitematic安装后的文件迁移到Docker指定目录【C:\Program Files\Docker\Kitematic】。
kitematic 是开源的,若是你们有兴趣,能够访问其开源库下载所有源代码进行研究:
https://github.com/docker/kitematic