序
在前一篇文章中,介绍了基于Nginx和Jexus的ASP.NET核心在macOS和Linux上的发布和部署。本文主要讨论如何在Docker容器中运行ASP.NET Core应用程序。
ASP。NET nginx发布和部署:http://www . cn blogs.com/savorboard/p/dotnet-core-publish-nginx . html。
Asp。Net jexus发布和部署:http://www.cnblogs.com/savorboard/p/dot-net-linux-jexus.html.
目录
安装Asp.Net核心映像使用Dockerfile部署Docker通用命令
Docker信息检查Docker是否安装正确。如果找不到此命令,则Docker安装不正确
Docker拉busybox拉一个预构建的映像
sample _ job=$(docker run-d busybox/bin/sh-c ' while true;做回声Docker睡眠1;完成)作为后台进程运行hello docker
Sample_job命令每秒打印Docker,可以使用Docker日志查看输出。如果没有名称,作业将被分配一个id,以后使用Docker logs等命令检查日志会变得更加麻烦。
Docker日志$sample_job运行Docker日志命令查看作业的当前状态:
Docker帮助所有Docker命令
Docker stop $sample_job停止名为sample_job的容器
Docker重启$sample_job重启容器
Docker stop $ sample _ job Docker RM $ sample _ job如果您想要完全移除容器,您需要先停止容器,然后才能移除它
Docker commit $ sample _ job将容器的状态保存为镜像
Docker映像让您可以看到所有镜像的列表
以下是我经常使用的一些命令:
移除所有容器和图像,并用一行命令清理它们:
docker kill $(docker PS-q);docker RM $(docker PS-a-q);Docker rmi $(docker images -q -a)只想删除所有容器,可以运行以下命令:
docker kill $(docker PS-q);Docker rm $(docker ps -a -q)清除名称为none的映像,这通常是下载失败的残余:
Docker PS-a | grep '既有' | awk ' { print $ 1 } ' | xargs Docker Stop Docker PS-a | grep '既有' | awk ' { print $ 1 } ' | xargs Docker RM Docker Images | grep None | awk ' { print $ 3 } ' | xargs Docker Images
安装Asp.Net核心映像
Docker的安装请参考官网:https://www.docker.com/products/docker
这里,假设您的Docker已经安装,下面的环境是Liunx(Ubuntu 15.02)。
打开https://hub.docker.com右上角搜索dotnet,选择第一个搜索结果microsoft/dotnet,点击如下图:
获取命令,切换到命令行窗口并运行以下命令来安装ASP.NET核心映像。
Sudo docker拉微软/dotnet什么?没有反应,速度慢?不会买高速VPN ~
什么事?没钱?你不会找到国内的Docker镜像站~道云镜像,阿里巴巴云Docker镜像。自己去找。
下载图像后,输入sudo docker图像,我们将检查:
至此,准备工作已经完成
使用Dockerfile部署
什么是Dockerfile,Dockerfile有什么用,自己百度。
博主教你如何直接写作:
我们不能总是使用5000个端口,这次我们使用60000个端口
1.将程序命令行切换到发布文件目录。
2.不要写sudo的名字误触Dockerfile,新建一个没有任何后缀的Dockerfile。
3.sudo vim Dockerfile使用vim编辑Dockerfile。如果Vim不能用,就用gedit。
4.输入以下内容:
Dockerfile#基于来自Microsoft/dotnet :1 . 0 . 0-core的“Microsoft/dotnet :1 . 0 . 0-core”构建我们的映像#将项目发布文件夹中的所有文件复制到Docker容器中的发布文件夹。/Publish#将工作目录设置为`/Publish `文件夹,即容器启动默认文件夹WORKDIR /publish#设置Docker容器暴露60000个端口EXPOSE 60000#使用` Dotnet HelloWebApp.dll '运行应用CMD ['dotnet '。Helloewebapp.dll ','-服务器。URL ',' http://* :60000']使用:wq保存并退出(gedit忽略它)。
构建镜像
运行docker build-t helloweb app :1.0 .来构建映像
运行构建的映像
使用docker运行名hello WB app-d-p 60000:60000 hello WB app :1.0
打开浏览器进行测试:
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。