(1)安装docker

sudo yum install docker

(2)启动docker

systemctl  start docker.service

(3)配置开机启动

systemctl enable docker.service

(4)查看docker版本信息

docker version

(5).net core 创建 Dockerfile 

(5)dockerfile

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

(6)发布项目

将发布的文件拷到centos的core文件夹下

(7)生成镜像

cd 到core文件夹下

sudo docker build -t demo-netcore .       (注意:最后空格后面有一个.)。

(9)查看生成的镜像

sudo docker images

因为,刚打包的镜像demo-netcore是基于docker.io/microsoft/aspnetcore镜像的,所以在打包demo-netcore的过程中,会优先从镜像库中拉取docker.io/microsoft/aspnetcore镜像。

(10)运行docker容器

sudo docker run --name democore -d -p 54907:80 demo-netcore

democore 容器的名称。

-d 后台进程。

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

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

sudo docker ps -a

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

 查看本机IP : ip addr

(13)删除镜像

sudo docker rmi (镜像ID)

(14)删除容器

sudo docker rm xxxxxxxxx(容器id)

删除容器之前停止容器

sudo docker stop (容器id)

(15)创建容器

docker commit -p xxxxxxxxxxx(容器id) name(快照名称)

16)保存本地tar备份

docker save -o ~/xxxxxxxx.tar name(容器名称)

(17)Xftp5物理导出到本地

(18)恢复docker备份

(19)进入docker容器内部

docker exec -it 容器id /bin/bash

(20)退出容器

Ctrl+D 或者 exit

(21)查看docker 日志

docker logs -f -t --since="2017-05-31" --tail=10 alibaba-vica-netapi

docker logs 6dc1e5f74c0

--since : 此参数指定了输出日志开始日期,即只输出指定日期之后的日志。

-f : 查看实时日志

-t : 查看日志产生的日期

-tail=10 : 查看最后的10条日志。

alibaba-vica-netapi : 容器名称

项目需要重新发布时:

将发布文件拷到core文件夹下

将之前的容器停掉,

重新build一个镜像demo-netcore2

再次run一个容器democore2  端口映射

就可以看到新发布的内容了

如果想回退到上个版本 只需要停掉当前容器,run demo-netcore镜像

$ sudo docker ps // 查看所有正在运行容器
$ sudo docker stop containerId // containerId 是容器的ID

$ sudo docker ps -a // 查看所有容器
$ sudo docker ps -a -q // 查看所有容器ID

$ sudo docker stop $(docker ps -a -q) // stop停止所有容器
$ sudo  docker rm $(docker ps -a -q) // remove删除所有容器

【Core】.NET Core 部署( Docker + CentOS)的更多相关文章

  1. dotnet core 使用 sqlite 部署到 Centos 服务器

    原文:dotnet core 使用 sqlite 部署到 Centos 服务器 本文告诉大家如何创建一个 asp dotnet core 程序,这个程序使用 sqlite 保存,部署程序到 Cento ...

  2. .NET Core +Angular 项目 部署到CentOS

    前言: 最近公司需要开发项目能在Linux系统上运行,示例开发项目采用.Net Core + Angular开发:理论上完全支持跨平台. 但是实践才是检验真理的唯一标准:那么还是动手来验证实现下:过程 ...

  3. ASP.NET core 2.1部署到 Centos 7

    步骤要点: 一.关闭Centos selinux: 操作方式: 1.永久关闭:打开/etc/selinux/config文件,设置SELINUX=disabled,注意,不是SELINUXTYPE=d ...

  4. AspNetCoreapi 使用 Docker + Centos 7部署

    好久没有更新文章了,前段时间写了一系列的文章放到桌面了,想着修修改改,后来系统中勒索病毒了还被公司网络安全的抓到是我电脑,后来装系统文章给装丢了.然后好长一段时间没有写了. 今天记录一下AspNetC ...

  5. ASP.NET Core 实战:使用 Docker 容器化部署 ASP.NET Core + MySQL + Nginx

    一.前言 在之前的文章(ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路)中,我介绍了如何在 Linux 环境中安装 .NET Core SDK / .NET Core ...

  6. 部署到CentOS Net Core

    Net Core部署到CentOS 本文基于初次或再次尝试部署.Net Core应用到Linux服务器上,我尝试后自我总结的经验一个简单的Demo,尝试部署在Linux服务器上和跨服务器访问数据库. ...

  7. Gitlab CI 自动部署 asp.net core web api 到Docker容器

    为什么要写这个? 在一个系统长大的过程中会经历不断重构升级来满足商业的需求,而一个严谨的商业系统需要高效.稳定.可扩展,有时候还不得不考虑成本的问题.我希望能找到比较完整的开源解决方案来解决持续集成. ...

  8. 1.6部署到CentOS「深入浅出ASP.NET Core系列」

    希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,谢谢关注. 安装.NET Core 官方安装地址: https://www.microsoft.com/net/learn/d ...

  9. 【ASP.NET Core快速入门】(四)在CentOS上安装.NET Core运行时、部署到CentOS

    下载.NET Core SDK 下载地址:https://www.microsoft.com/net/download/windows 第一步:Add the dotnet product feed( ...

  10. .Net Core 使用 System.Drawing.Common 部署到CentOS上遇到的问题

    一开始报这个错误:Unable to load shared library 'libdl' 找到libdl安装位置是/usr/lib64: #locate libdl /usr/lib64/libd ...

随机推荐

  1. 51nod图论题解(4级,5级算法题)

    51nod图论题解(4级,5级算法题) 1805 小树 基准时间限制:1.5 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 她发现她的树的点上都有一个标号(从1到n),这些树都在空 ...

  2. SQL Server 将查询结果导出插入的简单方式

    https://blog.csdn.net/danny_style/article/details/45166391 1.首先将查询结果添加到一个原数据库中不存在的表,表名随意命名. 例: selec ...

  3. Java中Integer和int的异同

    public void Test1() { int a = 128; Integer b = 128; Integer c = 128; //Integer会自动拆箱成int,所以为ture Syst ...

  4. java8新特性--Stream的基本介绍和使用

    什么是Stream? Stream是一个来自数据源的元素队列并可以进行聚合操作. 数据源:流的来源. 可以是集合,数组,I/O channel, 产生器generator 等 聚合操作:类似SQL语句 ...

  5. Spring Boot事务管理(下)

    在上两篇 Spring Boot事务管理(上)和Spring Boot事务管理(中)的基础上介绍注解@Transactional. 5 @Transactional属性 属性 类型 描述 value ...

  6. js篇-判断数组对象中是否含有某个值,并返回该条数据

    项目背景需求是: 已知: var a=[{name:'jenny',age:18},{name:'john',age:19},{name:'jack',age:20}] var b ='jenny' ...

  7. Oracle数据库分组排序

    select row_number() over(partition by oea03 order by oea02 desc) num,oea01,oea02,oea03 from oea_file ...

  8. Kestrel:Net Core的跨平台服务器

    概述 Kestrel是一个基于libuv的跨平台ASP.NET Core web服务器,libuv是一个跨平台的异步I/O库.ASP.NET Core项目默认使用Kestrel作为web服务器. 用户 ...

  9. 富文本之BootStrap-wysiwyg 带图片上传功能

    BootStrap-wysiwyg插件具有良好的编辑功能和展示效果. 一.使用方法在网上有很多,在此记录自己使用过程中的一些问题和解决方式. 相关依赖: bootstrap-wysiwyg.js (核 ...

  10. 今天整理了一下Winform用的UI插件信息

    平时主要用了一下几个比较好的UI控件: 1:IrisSkin2 皮肤插件.这是一款与编程开发相关的素材资源,主要是提供一些采用IrisSkin2.dll控件进行软件窗口换肤的素材文件,包括一些GIF图 ...