Docker技术几年前就火了,伴随着今年来devops的流行,这项技术一直被技术社区追捧。提起Docker很容易被默认为是Linux平台下的技术,.NET的技术跟他似乎没有沾边,不过那是对非.NET Core的技术而言,新推的.NET Core技术既然可以支持夸平台,那么当然运行在Docker平台也是没有问题的,.NET Core的安装指南里面就有专门的针对Docker平台的。

Docker技术最酷的功能当然就是运行环境的一致性,遥想没有Docker或者不用Docker,在开发,测试和部署环境维护配置的繁琐,耗费人力,惹毛开发人员。有了Docker把自动化部署推向了新的水平,甚至开发人员在开发机器把程序跑通,然后发布一个Docker镜像,然后用户pull下这个镜像,拿到Docker运行就可以了,是不是很简单呢。看起来简单的,具体技术实现还是要了解,比如如何创建自己的镜像,.NET Core的技术如何跟Docker结合使用等。

那就从最基本的开始,安装Docker平台。

实际上还是比较简单的,官方有详细的说明,有安装指南的好处是不用敲命令行,复制粘贴命令行就够了。

记录下简要的步骤,以后忘了也好重新捡回。

1 安装最小化版CentOS7

至于为什么选用CentOS7,并不是因为Docker平台只能运行在Linux,而是企业一般都用这个作为服务器系统。

(当然Docker也是可以运行在Windows(至少Windows10以上),在Windows上运行需要依赖HyperV,windows上安装Docker比较简单,不详细说。)

CentOS7安装的是最小化功能版本。

2 配置静态IP以及DNS域名解析
安装好系统之后静态IP以及DNS域名解析,设置静态IP是让xshell能在下次重启之后继续连上服务器,设置DNS是为了解析Docker相关的一些域名,因为下载镜像
的时候是通过域名访问的。
设置静态IP命令

vim /etc/sysconfig/network-scripts/ifcfg-ens33

主要设置以下项目的值,IP地址根据具体的值设置

BOOTPROTO="static"
IPADDR="192.168.115.136"
NETMASK="255.255.255.0"
GATEWAY="192.168.115.2"

设置DNS

vim /etc/sysconfig/network

加入一行即可

DNS1=8.8.8.8

当然设置其他IP也可以,能用就行。

 
3 按照官方教程安装docker
参考官方指南
https://docs.docker.com/engine/installation/linux/docker-ce/centos/
这里使用的是设置Docker仓库的方式安装

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager --enable docker-ce-edge  #可选
sudo yum-config-manager --enable docker-ce-test  #可选
sudo yum install docker-ce

4 启动Docker
sudo systemctl start docker #启动Docker
sudo systemctl enable docker.service #设置Docker服务开机启动

5 增加docker用户组和用户(可选)
安装完成docker之后会创建一个docker用户组,没有的话自己创建一个。
udo groupadd docker
然后添加当前用户到docker用户组
sudo usermod -aG docker $USER
 
6 运行hello-world镜像的容器
sudo docker run hello-world   #基于hello-world镜像创建一个容器
上述命令会把hello-world镜像下载到本地,然后基于这个镜像创建一个容器,并且运行这个容器。
上述命令的输出可以看到Hello from Docker!的输出,说明已经可以成功运行docker平台了
 
可以通过
docker images命令查看本地的镜像

REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 05a3bd381fc2 2 weeks ago 1.84kB

通过docker ps -a 查看目前在运行的容器

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c0872b507bdc hello-world "/hello" 10 seconds ago Exited (0) 9 seconds ago adoring_colden

到此Docker的服务器环境就够了,那.NET Core那些呢,不是要运行Asp.NET Core吗?

现在用的Docker,当然这些都要通过Docker镜像的方式解决,后续会详细介绍。

基于ASP.Net Core学习Docker技术第一步:在CentOS7安装Docker平台的更多相关文章

  1. Docker(1):CentOS7 安装Docker

    1.查看系统内核,docker要求系统的内核版本高于3.10 #  uname -r 2.升级yum包,确保最新 #   yum update 3.安装所需要依赖包 #   yum install - ...

  2. Docker实战 | 第一篇:Centos8 安装 Docker

    1. 安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 2. 配置镜像源 yum config-manager --a ...

  3. 用VSCode开发一个基于asp.net core 2.0/sql server linux(docker)/ng5/bs4的项目(1)

    最近使用vscode比较多. 学习了一下如何在mac上使用vscode开发asp.netcore项目. 这里是我写的关于vscode的一篇文章: https://www.cnblogs.com/cgz ...

  4. (一)学习了解OrchardCore笔记——开篇:基于asp.net core的OrchardCore

    想深入了解OrchadCore源码许久了,但是读源码的时候遇到很多问题而网上的参考资料太少了(几乎都是OrchadCms不带OrchardCore的),现在解决得差不多了,做下笔记方便自己查看,有错误 ...

  5. WebAPI调用笔记 ASP.NET CORE 学习之自定义异常处理 MySQL数据库查询优化建议 .NET操作XML文件之泛型集合的序列化与反序列化 Asp.Net Core 轻松学-多线程之Task快速上手 Asp.Net Core 轻松学-多线程之Task(补充)

    WebAPI调用笔记   前言 即时通信项目中初次调用OA接口遇到了一些问题,因为本人从业后几乎一直做CS端项目,一个简单的WebAPI调用居然浪费了不少时间,特此记录. 接口描述 首先说明一下,基于 ...

  6. 基于ASP.Net Core开发的一套通用后台框架

    基于ASP.Net Core开发一套通用后台框架 写在前面 这是本人在学习的过程中搭建学习的框架,如果对你有所帮助那再好不过.如果您有发现错误,请告知我,我会第一时间修改. 知其然,知其所以然,并非重 ...

  7. 基于ASP.NET Core 3.0快速搭建Razor Pages Web应用

    前言 虽然说学习新的开发框架是一项巨大的投资,但是作为一个开发人员,不断学习新的技术并快速上手是我们应该掌握的技能,甚至是一个.NET Framework开发人员,学习.NET Core 新框架可以更 ...

  8. ASP.NET Core学习系列

    .NET Core ASP.NET Core ASP.NET Core学习之一 入门简介 ASP.NET Core学习之二 菜鸟踩坑 ASP.NET Core学习之三 NLog日志 ASP.NET C ...

  9. AServer - 基于Asp.net core Kestrel的超迷你http服务器

    AServer是基于ASP.NET Core Kestrel封装的一个超迷你http服务器.它可以集成进你的Core程序里,用来快速的响应Http请求,而不需要集成整个ASP.NET Core MVC ...

随机推荐

  1. ajax 与 form 提交的区别

    有如下几种区别: 1. Ajax在提交.请求.接收时,都是异步进行的,网页不需要刷新:Form提交则是新建一个页面,哪怕是提交给自己本身的页面,也是需要刷新的: 2. A在提交时,是在后台新建一个请求 ...

  2. 基于ASP.NET生成二维码详细源码

    详细链接:https://shop499704308.taobao.com/?spm=a1z38n.10677092.card.11.594c1debsAGeakusing System; using ...

  3. SHOI2013 扇形面积并

    题目链接:戳我 补一张图 我们尝试把圆上的扇形转化成直线上的矩形--我们维护[1,2*m]的区间,那么每个能产生贡献的子区间的长度*第K大的半径的平方的总和就是answer了. 怎么转化呢?左端点为a ...

  4. PHP 代码优化测试【Benchmark数据测试】

    由于经常被抓取文章内容,在此附上博客文章网址:,偶尔会更新某些出错的数据或文字,建议到我博客地址 :  --> 点击这里 Benchmark测试之前我们先来了解Benchmark.直接下载:ht ...

  5. python中mysql的存储

    1. 连接mysql import pymysql db = pymysql.connect(host=', port=3306) cursor = db.cursor() cursor.execut ...

  6. [总结帖] 后端MVC V.S. 前端MVVM

    Web编年史: Web1.0 —— 静态页面.简单预处理语言草案:PHP.JSP.ASP Web2.0 —— 企业级架构.一站式解决方案(MVC):J2EE.Spring.Asp.net Web2.5 ...

  7. P1273 有线电视网(树形dp)

    P1273 有线电视网 题目描述 某收费有线电视网计划转播一场重要的足球比赛.他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为各个用户终端,其他中转站为该树的内部节点. ...

  8. leetcode-278-First Bad Version(注意不要上溢)

    题目描述:(说明中有简单翻译) You are a product manager and currently leading a team to develop a new product. Unf ...

  9. STM32-RTC实时时钟-毫秒计时实现

    OS:Windows 64 Development kit:MDK5.14 IDE:UV4 MCU:STM32F103C8T6 1.RTC时钟简介 STM32 的实时时钟(RTC)是一个独立的定时器, ...

  10. 利用CompletableFuture优化程序的执行效率

    一.线程池的Future模式 在了解java8的CompletableFuture之前,先通过Future来解决一个问题,看个例子: 假设现在有一个网站,首页有顶部Banner位.左边栏.右边栏.用户 ...