运行环境:

CentOS 7.0

容器:Docker 1.13.1

.Net Core版本: .NET Core 2.1,安装详见 CentOS 7 下安装.NET Core SDK 2.1

1.安装docker 

(1)安装docker

 sudo yum install docker

(2)启动docker

systemctl  start docker.service  

(3)配置开机启动

systemctl enable docker.service

(4)查看docker版本信息

docker version

2.部署程序

(1)准备你的.net core web程序

(2)确保你的项目能在windows上运行

(3)添加Dockerfile

填入如下内容

#基于 `microsoft/dotnet:2.1-aspnetcore-runtime` 来构建我们的镜像
FROM microsoft/dotnet:2.1-aspnetcore-runtime
#拷贝项目publish文件夹中的所有文件到 docker容器中的publish文件夹中
COPY . /publish
#设置工作目录为 `/publish` 文件夹,即容器启动默认的文件夹
WORKDIR /publish
#设置Docker容器对外暴露80端口
EXPOSE 80 #使用`dotnet HelloWorld.dll`来运行应用程序
ENTRYPOINT ["dotnet", "HelloWorld.dll"]

并设置Dockerfile属性

(4)发布

发布完成后可看到如下文件结构

(5)上传应用程序到linux

这里使用了xftp工具上传到linux

(6)切换到Dockerfile所在目录

cd /home/vsftpd/admin/publish

(7)生成镜像

构建一个名字叫 helloworld的镜像,注意build命令后面的 . 不可去掉,这个 . 代表的是当前构建镜像的上下文路径

docker build -t helloworld .

看到Successfully就说明镜像构建成功了

(8)查看生成的镜像

docker images

(9)运行docker容器

docker run --name helloworldtest -d -p 6002:80 helloworld

helloworldtest 容器的名称

helloworld 镜像名称

-d 后台进程

-p 是进行宿主和容器之间端口的映射(-p 宿主端口:容器端口)

(10)检验docker容器是否运行成功

docker ps -a

(11)因为运行docker容器的时候进行了端口映射, 所以外部访问端口为6002

http://你的服务器ip:6002

3.删除镜像步骤

需先停止容器,然后删除容器,最后才删除镜像

(1)查看容器ID及状态

 docker ps -a

(2)停止容器(90a31caf1297是容器ID)

docker stop 90a31caf1297

(3)删除容器(90a31caf1297是容器ID)

docker rm 90a31caf1297

(4)查看镜像ID

 docker images

(5)删除镜像(bfed045a3f12是镜像ID)

 docker rmi bfed045a3f12

参考:https://www.cnblogs.com/lijianhui/p/8057422.html

CentOS下搭建docker+.net core的更多相关文章

  1. 在centos下部署docker内网私服

    Docker内网私服:docker-registry with nginx & ssl on centos docker-registry既然也是软件应用,自然最简单的方法就是使用官方提供的已 ...

  2. docker学习之路-centos下安装docker

    前言 我要在云服务器上做一个asp.net core的webapi应用,使用docker来部署应用,中间用到的任何组件包括nginx和sqlserver 2017都是用docker来装载运行,所以,这 ...

  3. CentOS下搭建LAMP环境详解

    前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS ...

  4. 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台

    最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...

  5. Centos下搭建 nginx+uwsgi+python

    python做web应用最麻烦的还是配置服务器了,此话不假,光中间件就有好几种选择,fastcgi.wsgi.uwsgi,难 免让人眼花缭乱. 而听说uwsgi的效率是fastcgi和wsgi的10倍 ...

  6. CentOS下搭建LNMP+WordPress+http2.0教程

    此文是本人CentOS下搭建WordPress的一些笔记,环境搭建时间::将看过的几篇文章总结下来,形成一条龙长文.不用大家再找来找去. 本文大概分为此几部分: 一.基础命令更新: 二.服务器加速(非 ...

  7. centos下修改docker连接docker_host默认方式为tls方式

    1.安装docker,请参考官网文档 centos下安装docker 2.安装完成应该可以使用docker的各种命令连接docker host.docker host运行在本机上,但与localhos ...

  8. 在CentOS下搭建Android 开发环境

    在CentOS下搭建Android 开发环境 目录 1.环境搭建 1.1.JDK安装 1.2.Eclipse安装 1.3.ADT安装 1.4.Android SDK安装 1.5.Android NDK ...

  9. CentOS下利用Docker部署Surging

    原文:CentOS下利用Docker部署Surging 1. 安装Centos, 配置固定ip配置文件地址vi /etc/sysconfig/network-scripts/ifcfg-ens33`` ...

随机推荐

  1. POJ-2104-Kth Number(主席树)

    链接: https://vjudge.net/problem/POJ-2104#author=malic 题意: 给定一个数组 a[1...n],数组元素各不相同,你的程序要对每次查询Q(i,j,k) ...

  2. MySQL 创建唯一索引忽略对已经重复数据的检查

    MySQL 创建唯一索引忽略对已经重复数据的检查 在创建唯一索引的基础上加上关键字"IGNORE "即可.(注意,经测试,在5.7版本已经不再支持该参数) # 重复数据 mysql ...

  3. SpringCloud学习系列-Eureka服务注册与发现(2)

    构建 microservicecloud-eureka-7001 eureka服务注册中心Module 1.新建microservicecloud-eureka-7001 2.pom <proj ...

  4. 1222/2516. Kup

    题目描述 Description 首先你们得承认今天的题目很短很简洁... 然后,你们还得承认接下来这个题目的描述更加简洁!!! Task:给出一个N*N(1≤N≤2000)的矩阵,还给出一个整数K. ...

  5. jquery eq()选择器 语法

    jquery eq()选择器 语法 作用::eq() 选择器选取带有指定 index 值的元素.index 值从 0 开始,所有第一个元素的 index 值是 0(不是 1).经常与其他元素/选择器一 ...

  6. Python与CSV文件(CSV模块)

    Python与CSV文件(CSV模块)   1.CSV文件 CSV(逗号分隔值)格式是电子表格和数据库最常用的导入和导出格式.没有“CSV标准”,因此格式由许多读写的应用程序在操作上定义.缺乏标准意味 ...

  7. 手动创建Maven项目并建立两个项目之间的依赖关系

    用命令行快速建立maven项目 -> mvn:archetype:generate -> 直接回车或者自己输入你想生成的 -> groupId ->artifactId -&g ...

  8. REST framework 之 分页

    DRF分页组件 为什么要使用分页 我们数据表中可能会有成千上万条数据,当我们访问某张表的所有数据时,我们不太可能需要一次把所有的数据都展示出来,因为数据量很大,对服务端的内存压力比较大还有就是网络传输 ...

  9. 第三周课程总结&实验报告(一)

    实验报告(一) 1.打印输出所有的"水仙花数",所谓"水仙花数"是指一个3位数,其中各位数字立方和等于该数本身.例如,153是一个"水仙花数" ...

  10. 第四周学习总结&实验报告

    学习总结; String类: 1.方法只会开辟一块堆内存空间,且会自动保存在对象池中以供下次重复使用: 2方法会开辟两块堆内存空间,其中一块会成为垃圾空间. 1."=="比的是地址 ...