CentOS下搭建docker+.net core
运行环境:
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

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的更多相关文章
- 在centos下部署docker内网私服
Docker内网私服:docker-registry with nginx & ssl on centos docker-registry既然也是软件应用,自然最简单的方法就是使用官方提供的已 ...
- docker学习之路-centos下安装docker
前言 我要在云服务器上做一个asp.net core的webapi应用,使用docker来部署应用,中间用到的任何组件包括nginx和sqlserver 2017都是用docker来装载运行,所以,这 ...
- CentOS下搭建LAMP环境详解
前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS ...
- 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台
最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...
- Centos下搭建 nginx+uwsgi+python
python做web应用最麻烦的还是配置服务器了,此话不假,光中间件就有好几种选择,fastcgi.wsgi.uwsgi,难 免让人眼花缭乱. 而听说uwsgi的效率是fastcgi和wsgi的10倍 ...
- CentOS下搭建LNMP+WordPress+http2.0教程
此文是本人CentOS下搭建WordPress的一些笔记,环境搭建时间::将看过的几篇文章总结下来,形成一条龙长文.不用大家再找来找去. 本文大概分为此几部分: 一.基础命令更新: 二.服务器加速(非 ...
- centos下修改docker连接docker_host默认方式为tls方式
1.安装docker,请参考官网文档 centos下安装docker 2.安装完成应该可以使用docker的各种命令连接docker host.docker host运行在本机上,但与localhos ...
- 在CentOS下搭建Android 开发环境
在CentOS下搭建Android 开发环境 目录 1.环境搭建 1.1.JDK安装 1.2.Eclipse安装 1.3.ADT安装 1.4.Android SDK安装 1.5.Android NDK ...
- CentOS下利用Docker部署Surging
原文:CentOS下利用Docker部署Surging 1. 安装Centos, 配置固定ip配置文件地址vi /etc/sysconfig/network-scripts/ifcfg-ens33`` ...
随机推荐
- 【leetcode】1185. Day of the Week
题目如下: Given a date, return the corresponding day of the week for that date. The input is given as th ...
- ssh复制公钥成功后仍需输入密码
1,网上说权限问题 登录流程: 被登录机器的文件权限: //用户权限 chmod 700 /home/username //.ssh文件夹权限 chmod 700 ~/.ssh/ // ~/.ssh/ ...
- html caption标签 语法
html caption标签 语法 caption是什么标签? 作用:定义表格标题. 说明:caption 标签必须紧随 table 标签之后.您只能对每个表格定义一个标题.通常这个标题会被居中于表格 ...
- SpringBoot项目中,表单的验证操作
在创建Springboot项目中,我们使用了表单验证操作,这一操作将极大地简化我们编程的开发 1.接收数据,以及验证 @PostMapping("/save") public Mo ...
- BZOJ1491 Red is good
题目链接:Click here Solution: 考虑设\(f(i,j)\)表示当前还有\(i\)张红牌,\(j\)张黑牌时的期望收益 易得状态转移方程:\(f(i,j)=\frac{i}{i+j} ...
- 记ubuntu sudo无法使用,su密码不对的解决办法
前言 因为我有强制关机的习惯, 然后就杯具了.. ubuntu版本是 16.04 sudo没法使用, su密码不对, 顿时我就慌了 解决方案 1.1.开机点击ESC,进去GUN GRUB界面 1.2. ...
- 洛谷P3948 数据结构——题解
题目传送 感觉这道题秀了我一地的智商... 审题没审好,没确定带修改的操作中询问的次数<=1000,且max和min都是事先给好.不变的.想了半天线段树.分块,却忘了最基础的暴力. 写不出题时先 ...
- Springboot对Controller层方法进行统一异常处理
Controller层方法,进行统一异常处理 提供两种不同的方案,如下: 方案1:使用 @@ControllerAdvice (或@RestControllerAdvice), @ExceptionH ...
- [BZOJ3622]已经没有什么好害怕的了:DP+容斥原理
分析 说白了就是一道先DP再二项式反演的水题,然后被脑残博主把"多\(k\)组"看成了"糖果比药片能量大的组数恰好为\(k\)组",还改了各种奇怪的地方,最后看 ...
- jconsole性能监控
1.进入tomcat bin目录 vim catalina.sh #!/bin/sh下面加入: #!/bin/shJAVA_OPTS="-Dcom.sun.management.jmxrem ...