运行环境:

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-3020-Antena Placement(最小路径覆盖)

    链接: https://vjudge.net/problem/POJ-3020 题意: The Global Aerial Research Centre has been allotted the ...

  2. pandas Series和dataframe

    DataFrame是一个表格型数据结构,与Series不同的是,DataFrame可以含有一组或者有序的列,每列可以使不同的值的类型,它可以被看做成Series的字典.

  3. android 文件保存到应用和sd卡中

    <span style="font-size:18px;">1.权限添加 <uses-permission android:name="android. ...

  4. HDU1254--推箱子(BFS+DFS)

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s) ...

  5. D. Print a 1337-string...

    D. Print a 1337-string... 输出一个字符串 里面包含n个子序列 1337 #include<bits/stdc++.h> using namespace std; ...

  6. css命名和书写规范

    前言 在项目开发中对于css名字的命名和书写老是感觉很混乱,这对于代码的可读性以及维护提出了挑战,所以在闲暇之余看了一些这方面的内容,现总结如下... 1.命名规则说明 所有的命名最好都小写 属性的值 ...

  7. JAVA第二周课程总结

    本周我们开始学习一门新的课程JAVA 本周主要学习内容: 1.认识java,以及它的开发工具jdk 2.了解Java的语言特点 3.搭建Java开发环境,jdk的安装和配置

  8. 启动webpack-dev-server错误,ERROR in main.js from UglifyJs Unexpected token: name «element», expected: punc «;»

    启动webpack-dev-server出现以下错误 ERROR in main.js from UglifyJsUnexpected token: name «element», expected: ...

  9. gdb调试知识

    之前一直不怎么用gdb,现在要用做一下记录 用gdb启动程序 gdb ./demo intel风格反汇编main函数,一共两行第一行设置汇编风格,第二行才是反汇编main函数 set disassem ...

  10. 代码编译时JDK版本和运行时JDK版本不一致启动项目报错

    java编译: java编译就是.java文件变成.class文件的过程,这个过程一般在我们常用的编译器中进行,例如Ecliplse和IDEA等:下面以IDEA举例: 执行上述编译使用的JDK版本就是 ...