一、背景

最近一直在看docker的教程,基础知识看的差不多了。理论总要运用于实践,所以下面我们就来把最简单的一个netcore网站托管到docker容器中。

环境:1、docker for windows

2、 .net core 2.2

二、创建一个简单的netcore网站

2.1 使用dotnet new web命令创建一个新的项目

2.2 使用dotnet run命令编译创建的项目

2.3 访问验证生成的netcore项目



至此,我们的netcore项目,已经在windows平台上运行起来了。

三、编译为linux运行文件,并编写Dockerfile

3.1 使用dotnet publish --runtime ubuntu.16.04-x64命令编译为可在linux系统运行的文件

3.2 进入到编译好的ubuntu.16.04-x64\publish\文件夹下,编写dockerfile

# 声明使用的基础镜像
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
# 声明工作目录
WORKDIR /app
EXPOSE 80
COPY ./ ./
# 指定应用入口点 netcoretest.dll代表的是主程序文件
ENTRYPOINT ["dotnet", "netcoretest.dll"]

四、运行生成的镜像、并验证访问

4.1 使用docker build -t netcoretest .制作镜像



我们可以使用docker image ls 查看刚制作成功的镜像

4.2 使用生成的镜像,运行到docker

运行命令docker run -it -d -p 8072:80 --name netcoretest netcoretest

4.3 查看运行成功的容器

4.4 访问容器中的网站http://localhost:8072



访问成功,我们已经成功地把netcore的网站托管到docker容器中

五、总结

将网站托管到容器中,是一种比较新的技术,代表着新的方向。

我们可以将问题拆解为,先编写netcore程序,验证程序在linux平台上运行成功后,再来将程序托管到docker中。

参考文章:

1.https://www.cnblogs.com/xiaoerlang90/p/10285410.html

2.https://www.cnblogs.com/hulizhong/p/10698584.html

将netcore网站部署到docker容器中的更多相关文章

  1. Linux下将.Asp Core 部署到 Docker容器中

    我们来部署一个简单的例子: 将一个简单的.Aps Core项目部署到Docker容器中并被外网访问 说明: 下面的步骤都是建立在宿主服务器系统已经安装配置过Docker容器,安装Docker相对比较简 ...

  2. docker多个容器连接 将 Rails 程序部署到 Docker 容器中

    在docker中使用MySQL数据库 https://yq.aliyun.com/articles/583765 将 Rails 程序部署到 Docker 容器中

  3. jenkins集成基于maven的javaweb项目,部署到docker容器中

    使用开源工具:Jenkins,码云gitee,docker,docker页面管理工具PortainerUI,github 各种工具的安装就不必介绍了,首先打开Jenkins,刚安装完Jenkins,可 ...

  4. 【原创】大叔经验分享(71)docker容器中使用jvm工具

    java应用中经常需要用到jvm工具来进行一些操作,如果java应用部署在docker容器中,如何使用jvm工具? 首先要看使用的docker镜像, 比如常用的openjdk镜像分为jdk和jre,只 ...

  5. .NET Core开发的iNeuOS工业互联平台,iNeuKernel物联网核心组件在Docker容器中部署。

    目       录 1.      概述... 2 2.      演示信息... 2 3.      安装Docker容器... 2 4.      安装dotnet镜像... 3 5.      ...

  6. Docker容器中开始.NETCore之路

    一.引言 开始写这篇博客前,已经尝试练习过好多次Docker环境安装,.Net Core环境安装了,在这里替腾讯云做一个推广,假如我们想学习.练手.net core 或是Docker却苦于没有开发环境 ...

  7. .NetCore下使用IdentityServer4 & JwtBearer认证授权在CentOS Docker容器中运行遇到的坑及填坑

    今天我把WebAPI部署到CentOS Docker容器中运行,发现原有在Windows下允许的JWTBearer配置出现了问题 在Window下我一直使用这个配置,没有问题 services.Add ...

  8. docker容器中布置静态网站

    docker容器中布置静态网站(基于云服务器ubuntu系统) 服务器准备(ubuntu) docker nginx 静态网页制作 浏览器测试 服务器布置 这里推荐使用云服务器(阿里云.华为云.腾讯云 ...

  9. 在docker容器中编译hadoop 3.1.0

    在docker容器中编译hadoop 3.1.0 优点:docker安装好之后可以一键部署编译环境,不用担心各种库不兼容等问题,编译失败率低. Hadoop 3.1.0 的源代码目录下有一个 `sta ...

随机推荐

  1. 为什么要监控sql语句?如何监控?

    01 为什么要监控sql语句? ① 因为程序大了以后,sql语句有可能被多个地方调用 .你不能确认当前时间是不是只执行了你需要的那条语句 . ② 有的持久层框架采用linq的语法来写sql , 程序中 ...

  2. ubuntu上的 /dev/loop0 到 /dev/loop18占到100%的处理

    date : 2019-08-13  09:39:09 author: headsen  chen 处理方法:apt autoremove --purge snapd 再次检测:

  3. Linux_CentOS 文件管理和目录管理

    Linux 文件管理 1.创建文件 touch file1 2.删除文件 rm -rf file11 -r:递归的删除目录下面文件以及子目录下文件. -f:强制删除,忽略不存在的文件,从不给出提示 3 ...

  4. Java中字符串操作的基本方法总结:

    1.字母大小写转换: package com.imooc; public class SortDemo { public static void main(String[] args) { char ...

  5. Spring cloud微服务安全实战-6-2JWT认证之认证服务改造

    首先来解决认证的问题. 1.效率低,每次认证都要去认证服务器调一次服务. 2.传递用户身份,在请求头里面, 3.服务之间传递请求头比较麻烦. jwt令牌. spring提供了工具,帮你在微服务之间传递 ...

  6. mysql 1045

    1.sudo gedit /etc/my.cnf 2.加入 skip-grant-tables 3.直接登录,输密码时回车 mysql -u root -p 4.修改密码 use mysql; upd ...

  7. iOS-UIDocumentInteractionController打开和预览文档

    iOS提供了使用其他app预览文件的支持,这就是Document Interaction Controller.此外,iOS也支持文件关联,允许其他程序调用你的app打开某种文件.而且,从4.2开始, ...

  8. python signal模块

    signal包负责在Python程序内部处理信号,典型的操作包括预设信号处理函数,暂 停并等待信号,以及定时发出SIGALRM等.要注意,signal包主要是针对UNIX平台(比如Linux, MAC ...

  9. sublime text3 修改快捷键为eclipse

    Preferences -> Key bindings - User [ { "keys": ["shift+enter"], "command ...

  10. GraphHopper-初识

    GraphHopper  GraphHopper is a fast and Open Source road routing engine.   Is fast and memory efficie ...