yangyang

a .NET Developer

Docker


解决Windows上Docker Desktop中Kubernetes一直处于starting的问题

前面三篇文章已经了解了Docker的基本用法,后面应该是要继续看Docker Swarm的,结果发现这个已经不流行了,流行的是Kubernetes,所以这篇文章开始就开始学习Kubernetes了。 遇到的问题     电脑的操作系统是Windows 10,安装的是最新的Docker Desktop,这个里面本来就有单节点的Kubernetes,所以想着把环境搭建一下,默认情况下,Kubernetes是没有启动的。在设置里可以启动。     目前Kubernetes的最新版本是v1.19.7,在设置里面Kubernetes项目里,可以开启,然而,并不顺利。     勾选“Enable Kubernetes”之后,一直状态一直显示"Starting...",等待很久很久,最后就会失败,左下角第二个图标也是黄色或者红色,表示遇到错误。 解决办法     “出师未捷身先死”,环境启动不起来,于 …

Docker kubernetes

在Docker中运行ASP.NET Core MVC程序:使用docker-compose

在前面一篇文章中,演示了一个ASP.NET Core MVC应用程序,这个程序使用了MySQL,负载均衡,涉及到要创建多个容器,Volume卷以及自定义网络。这种纯手工的方式很容易出错,不仅每一个命令必须输入正确,并且每个步骤还要按照先后顺序来输入,比如再创建MySQL容器的时候,必须事先把其依赖的卷创建好。如果漏了某个步骤,或者某个步骤顺序发送错误,则程序就运行不起来。如果应用程序架构比较简单,这种问题不大,但当应用程序设计模块比较多时,可能会想到自己编写一些脚本来实现自动化,而Docker为我们提供了docker-compose功能,利用这以功能可以实现对复杂应用的管理,包括容器,Volume,自定义网络中。 准备工作     在开始之前,我们将之前创建的容器,网络和Volume都删掉,这些我们在后续都可以通过docker-compose来创建。 docker rm -f $( …

Docker HAProxy Load Balance Docker Compose

在Docker中运行ASP.NET Core MVC程序:Docker卷、自定义网络和负载均衡

在前面一篇中,我们使用了模拟的数据DummyRepository,数据是存储在内存中的,然而在实际应用中,一般数据是存放在数据库中,所以数据库应该也有单独的容器来承载,那数据库文件呢?这里就用到了Volume, 在这一篇我们会接触到Docker里的两个重要概念:Volume 卷和Software-define Network自定义网络。     Volume是卷的意思,我们能够将数据库或者应用程序产生的重要数据,存放在单独的Volume,而不是容器内,这样容器删除或者变更不会对这些数据产生影响。     Software-define Network,软件自定义网络是一种Docker内的网内协议,允许容器内的应用程序能够相互通讯。 了解Volume     应用程序可能会用到两只类型的文件:运行应用程序所需的文件,包括常见的dll,资源文件等等;应用程序所产生的文件,比如由于用户操作,所产 …

Docker HAProxy Load Balance Volume SDN

在Docker中运行ASP.NET Core MVC程序:Docker基本用法

Docker是一系列创建和管理容器的工具,它能够将服务器上的应用程序相互隔离起来。这一系列文章是我学习在ASP.NET Core MVC中使用Docker实践的学习笔记,参考《Essential Docker for ASP.NET Core MVC》这本书。 Docker能解决什么问题? Docker能解决ASP.NET Core MVC项目中存在的两个复杂性问题:一致性问题和响应性问题。 一致性问题     大部分的ASP.NET Core MVC应用都由多个组件组成,比如至少需要一个服务器来运行MVC应用,以及一个数据库用来持久化数据。     一些复杂的应用可能还需要其他的一些组件,比如多应用服务器来共享工作量,负载均衡用来在多个服务器之间分发HTTP请求、数据缓存组件用来提供性能。随着组件的增加,额外的服务器可能会被加入进来,这就需要网络将这些组件连接起来,命名服务器用来提供服务 …

ASP.NET Core MVC Docker Visual Studio Code Docker Image Docker Container

  • 1