前言
这已经是第三篇文章了,才开始做自我介绍,我是.net core 程序员,这篇文章是用docker构建一个. net core应用,然后在linux运行,如果你不是. net开发者也没关系,因为docker和语言没有关系,如果你觉得有关系那证明你没有看我第一篇文章什么是docker
docker概念介绍
dockerfile: 描述了docker要怎么去build一个应用,比如安装哪些依赖包
image: docker build过后产生的文件,就是我们的应用
container: 一个image的实例就是container,类和实例的关系和image和container的关系一样
我们要做哪些事情?
1,在windows机器上安装docker,创建一个.netcore的项目
window安装docker参考这篇文章:https://www.runoob.com/docker/windows-docker-install.html
创建一个.netcore项目参考这篇文章:https://www.cnblogs.com/yanbigfeg/p/9197375.html
这两步之所以省略,第一个是因为简单,第二个是因为并不是每个程序员都是.net core,不想去刻意讲一个.net core的东西,因为我们的主题是docker
2,在windows机器上build这个项目
看下我们的目录结构
我们的dockerfile
查看下现有的image
查看下现有的container
image有很多都是我自己机器上的原来的,我们还没有去构建任何的image,container是没有的
我们现在去build我们的项目
再次查看我们的iamge,红色下划线就是我们build出来的项目
去run一个container
查看我们刚刚run出来的contaienr
去浏览器中查看我们的应用
能看的出来我们的应用已经在window机器跑了起来,
3,在windows把build的image push到阿里云镜像仓储
现在我们去阿里云,创建一个存放我们image的仓储
我们的阿里云的镜像仓储已经创建成功了,接下来用docker登录阿里云仓储去push我们的image
我们已经成功把我们本地的image push到了阿里云仓储
4,在linux机器上 pull 这个image
现在我们在阿里云的linux机器,用docker去登录(已经安装了docker)
从阿里云 pull我们的image
5,在linux机器上跑起来这个 .net core的应用
run 我们刚pull下来的image
去浏览器中查看我们linux机器上的.net core应用
显然是正确的,这只是一个简单的demo,到此我们docker的教程就告一段落啦,下个主题是jenkins