Docker 部署NetCore 接口(三)

前面两篇文章介绍了Docker一些基本概念和环境搭建,下面我们来学习一下如何将开发好的Net Core 接口项目在Docker中跑起来。

本文不关注安全方面的信息,所以,在操作之前,先关闭防火墙

systemctl stop firewalld.service 

总体的流程是比较简单的可以分为3步:

  • 拉取基础镜像  microsoft/dotnet
对于基础镜像,大家可以理解为镜像模板,我们自己创建自定义镜像,都是从基础镜像中修改而来的。

docker pull microsoft/dotnet:latest
  • 构建自定义镜像

1、 发布接口项目,将项目代码上传到指定路径比如:root/docker/

2、创建Dockerfile文件,将Dockerfile上传到代码目录

FROM microsoft/dotnet:latest                #自定义的镜像来源于基础镜像 microsoft/dotnet:latest

WORKDIR /app                         #容器中的工作目录

COPY   . /app/                       # Copy the app file to root  从当前宿主目录“.” copy 到 容器镜像目录 “/app/”
EXPOSE 5000/tcp                      # Configure the listening port to 5000
ENTRYPOINT  ["dotnet", "/app/DockerTest.dll"]    # Start the app

3、编译自己的镜像   名字为 “netcoretest”

docker build -t netcoretest ./
  • 运行镜像,并将外网端口映射到容器端口(外网:内网)
docker run -it -p 5000:5000 netcoretest

这里需要注意一下,在Program.cs中,一定要指定是监听任何地址,否则请求地址会被拒绝

 1  public class Program
 2     {
 3         public static void Main(string[] args)
 4         {
 5             BuildWebHost(args).Run();
 6         }
 7
 8         public static IWebHost BuildWebHost(string[] args) =>
 9             WebHost.CreateDefaultBuilder(args)
10                    .UseStartup<Startup>()
11                    .UseUrls("http://*:5000")
12                     .Build();
13     }

https://help.aliyun.com/document_detail/51853.html

http://blog.csdn.net/remote_roamer/article/details/51916893

http://www.runoob.com/docker/docker-image-usage.html

http://www.docker.org.cn/book/docker/prepare-docker-5.html

http://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html

http://www.cnblogs.com/baiyunchen/p/5812110.html

时间: 2024-10-17 03:40:22

Docker 部署NetCore 接口(三)的相关文章

Docker部署NETCORE应用程序

Docker部署NETCORE应用程序 拉取aspnetcore最新docker镜像 aspnetcore的docker镜像在docker官网是有的,是由微软提供的.它的依赖镜像是microsoft/dotnet.通过访问网址:https://hub.docker.com/explore/,搜索关键字aspnetcore就会找到镜像.但是如果直接从官网拉取镜像,速度会比较慢.之前我们对docker镜像加速器做过设置,用的是阿里云的,所以以后拉取镜像都是从阿里云拉取的. 执行以下命令拉取aspne

Centos 中使用通过docker 部署.netcore

此前,我一直觉得,目前网络上的各种各样的技术文章.技术文档已经足够多,任何一种技术,都可以或多或少的在网络上找到教程,或者在qq群里找到前辈解答.所以,我觉得自己在博客上写文章的意义甚少.甚至觉得自己写重复的博客,只会为这无尽的网络世界添加更多垃圾信息. 不过,后来我经过思考,觉得自己过去的观念并非完全正确.我们做了很多事,有时候看上去是想方便别人,实际上更是自身的需要.就如我们晚上开车,因为有路灯,司机看清眼前的路并无问题,但是,夜里开车还是要开灯,因为开灯,不只是为了让自己看清路,更让其他车

docker 部署 flask(三)高级编写及生成镜像,安装requirements.txt

简介: 上一篇,我写了如何使用别人的docker基础镜像,生成我们的docker镜像. 也就最基本的flask,没有别的库(包)支持.连数据库支持都没有. 也就让大家了解一下怎么生成镜像而已. 本篇介绍如何在docker镜像中安装库(包)支持. 其实我也被卡了2天,没搞定. https://github.com/tiangolo/uwsgi-nginx-flask-docker/issues/38 在作者的 github问了,还是自己回答.哥真NB,自己提问,自己解答. 一:选择性的忽略 作者网

Docker学习笔记三:Docker部署Java web系统

Docker部署Java Web系统 1.在root目录下创建一个路径test/app mkdir test && cd test&& mkdir app &&cd app 2.将apache-tomcat-7.0.29.tar.gz及jdk-7u25-linux-x64.tar.gz拷贝 到app目录下 3.解压两个tar.gz文件 tar -zxvf apache-tomcat-7.0.29.tar.gz tar -zxvf jdk-7u25-linux

docker部署Asp.net core应用

1 容器概念 使用Docker前我们首先要简单了解一下容器的概念.MSDN上有一张虚拟机和容器的对比图,很好的展示了虚拟机和容器的区别,如下所示,虚拟机包括应用程序.必需的库或二进制文件以及完整的来宾操作系统,每台虚拟机都有一个单独的内核,我们完全可以把虚拟机看做是一台真实的物理机. 容器包括应用程序及其所有依赖项,与其他容器共享 OS 内核,容器在主机操作系统上作为独立进程运行,我们可以把容器看做是一个应用沙盒. 我们经常会遇到“我机器上可以运行”的问题吧,然后部署到其他机器时就遇到了各种坑,

ubuntu16.04-x64系统中Jexus web server部署.NetCore和端口分析引发的猜想!

您有这样的牢骚么? 有一周没更新博客了,简单说下在干什么吧:主要是公司安排对接某旅游大公司的接口,接口数量倒也就10个左右,对接完后还需要加入到业务系统中和App端,因此还是需要花点时间的:时间上来说业务需求安排在6月最后一周上线,整个3周的时间,就本人一人负责,由于在这之前对接过另外一个公司接口,我已经搭建好了整体架构和提供给app端接口了,因此主要还是对接某公司接口而已,至于细节上的东西改改后台系统,调调数据格式应该就差不多了:就本人开发的熟练度来讲一周时间基本能搞定,其他剩余时间就测试,喝

Docker部署Apache-tomcat

Docker部署Apache-tomcat 实验环境:Centos 7phpStudy(提供wget 下载以下的两个软件包到Centos)所需软件包:jdk-8u11-linux-x64.tar.gzapache-tomcat-7.0.84.tar.gz提供下载链接:https://pan.baidu.com/s/1miZh9wO 密码:8d5f Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现

ONOS集群---基于docker部署

ONOS HA 部署流程 高可靠性的网络环境在生产中随处可见,ONOS的一大亮点是支持集群.为了能够快速的搭建起ONOS的集群环境,官网提供了基于docker的部署镜像.当我们部署完成docker环境以后,可以很方便的使用docker来部署一个ONOS的集群.[关于docker的环境部署,参考:http://www.cnblogs.com/BurlyLuo/p/8283815.html] ONOS使用Hazelcast架构实现对集群成员的管理,在集群模式下,网络中的控制器共享状态信息,共同管理网

Centos7中使用Docker部署Apollo配置中心

采用微服务开发框架开发项目时会涉及多个系统,如果要更改配置参数需要在多个系统间逐一更改,比较费时,而且容易遗漏,效率低下,次问题可以采用Apollo配置中心的方式解决,下面将介绍如何配置: 准备环境:本地环境win7/win10,docker所在服务器centos7 第一步 下载Apollo到本地并解压到磁盘,URL:https://github.com/ctripcorp/apollo (linux: wget https://github.com/ctripcorp/apollo/archi