开始之前,我们先做一些准备(第一次接触asp.net core的同学)。
1、安装VS2017以上VS(VS2015已经out了,还在用2015的抓紧更新吧!)
2、ASP.NET Core SDK下载
3、Docker下载
1) 进入docker官网
2)必须登录之后才能下载,没有账号则需要注册docker网站账号 点我去注册
以上三步呢主要是做了一些准备工作,接下来我们进入主题,搭建一个asp.net core2.0项目并部署在windows 上的docker中。
【搭建环境】
系统:windows10 容器:Docker 18.09.2 .Net Core版本: .NET Core 2.1
4、创建一个web项目
2)创建项目之后我们发布项目
2)项目发布文件位置:项目目录------->bin------>Release------>netcoreapp2.1------>publish
3)配置Dockerfile
将 Dockerfile 文件 放在项目根目录 设置文件属性为始终输出
Dockerfile文件:
# 使用镜像
FROM microsoft/dotnet:2.1-aspnetcore-runtime
# 为RUN、CMD、ENTRYPOINT指令配置工作目录
WORKDIR /publish
COPY . /publish
# 运行时容器提供服务端口 docker run -p的时候生效
EXPOSE 80
# 作用是在启动容器的时候提供一个默认的命令项,是不能被docker run命令的执行命令覆盖
ENTRYPOINT ["dotnet", "Web_Demo3.dll"]
5、部署项目到docker
1)生成image镜像
先在cmd 窗口 cd 跳转到到 asp.net core 发布目录
例如:cd C:\Users\GoGo\Source\Repos\Web_Demo3\Web_Demo3\bin\Release\netcoreapp2.1\publish
docker build -t demoapp3 .
[注:demoapp3是生成docker的镜像名称,自己随便定义的 注意:最后是空格+点]
2)创建容器运行镜像
docker run --name demo2 -p 8080:80 demoapp2:latest
[创建容器注意:其中demo2 是容器名 demoapp2是上一步的镜像名,-p 8080:80 是将容器的80端口映射为电脑的8080端口]
3)输入地址访问
4)看到以上画面已经说明项目部署完成,并已经运行在docker容器里。
常用的命令:
#生成镜像
docker build -t demoapp3 .
#运行容器
docker run --name demo -p 8080:80 demoapp3:latest
#删除所有容器进程
docker
rm
$(docker
ps
-a -q)
#删除一个镜像
docker rmi 镜像ID
#查看所有镜像
docker images
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
方便大家学习:
http://www.docker.org.cn/(中文站)
https://www.docker.com/(英文站)
docker镜像站:https://hub.docker.com/