基于ASP.Net Core学习Docker技术第一步:在CentOS7安装Docker平台

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镜像的方式解决,后续会详细介绍。

posted @ 2017-10-02 16:31  神八  阅读(3016)  评论(2编辑  收藏  举报