Docker最全教程——从理论到实战(五)

往期内容链接  

本篇教程持续编写了3个星期左右并且一直在完善、补充具体的细节和实践,预计全部完成需要1到2个月的时间。由于编写的过程中极其费时,并且还需要配合做一些实践(有些实践存在一些坑,而且极其费时费事)。因此目前产出的速度已经跟不上发布的速度了,后续的发布节奏会放慢,请大家多多理解和多多包含。

在这个过程中,我们希望能够多多交流,多多分享。根据目前和大家的交流,笔者针对大家的情况进行了一些修改和补充,希望对大家有所帮助。另外,对于熟悉容器服务的你,也可以参与进来,让我们一起打造这个系列教程,以帮助更多的人。同时,我们也希望得到大家的支持,你们的支持是我们前进的最大动力!

 

运行 Docker 应用程序

如果应用程序只有一个容器,则可通过将其部署到 Docker 主机(虚拟机或物理服务器)来运行该程序。 但如果应用程序包含多项服务,则可使用单个 CLI 命令 (docker-compose up) 或使用 Visual Studio(会在其中使用该命令)将其部署为组合应用程序。

单个应用,就如我们上面的demo :

docker run --name aspnetcore_sample --rm -it -p 8000:80 microsoft/dotnet-samples:aspnetapp

Docker最全教程——从理论到实战(五)

应用程序启动后,使用浏览器打开:8000,即可看到以下界面:

Docker最全教程——从理论到实战(五)

但是如Magicodes.Admin框架所示,有后台接口、后台前端应用、前端接口、小程序端、APP等等,那么我们可以通过上面配置的docker-compose文件来部署为组合应用程序。执行起来很简单,只需要运行以下命令:

docker-compose up

执行之后,我们可以看到:

Docker最全教程——从理论到实战(五)

Docker最全教程——从理论到实战(五)

Docker最全教程——从理论到实战(五)

Magicodes.Admin提供了本地编译、打包、构建镜像以及运行等整套脚本,在通常情况,我们仅需一键运行脚本即可。

Docker最全教程——从理论到实战(五)

脚本会自动完成对后台服务和前端应用的构建以及运行。在上一节中,我们说到,Visual Studio对这块已经完成了相关的支持,如果是使用Visual Studio的开发者,仅需按下F5即可运行。

Docker最全教程——从理论到实战(五)

  测试

容器正常运行了,我们可以让测试人员来访问我们的服务来进行相关的功能测试和可用性测试。当然,我们也可以编写自定义脚本进行自动化测试,就如前面章节中Docker-compose常用场景中提到的自动化测试环境:

Docker最全教程——从理论到实战(五)

  部署或继续开发

开发完成后,我们就需要部署我们的应用,并且继续项目迭代。在部署之前,我们需要推送我们的镜像,比如使用docker push命令,我们可以将镜像推送到docker的官方镜像库,也可以推送到各大云自己的镜像库,然后再通过docker pull命令拉取镜像进行部署。同时,也可以使用一些CI(持续集成)工具来完成自动化的边开发边部署的工作。CI这块,我们接下来会介绍基于Azure DevOps、Tencent hub、Jenkins以及TeamCity等服务或工具来完成CI。在本节,我们继续了解镜像推送的语法:

docker push {镜像名称}:{镜像版本}

在推送之前,我们需要登录到一个镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub。相关语法如下所示:

docker login --username {用户名} --password {密码} {仓库地址}

推送成功之后,如下所示:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wspfws.html