.NetCore 发布到 Centos docker
【搭建环境】
系统:CentOS 7.0 容器:Docker 1.13.1 .Net Core 版本:.NET Core 2.2 工具:putty、filezilla 等.
一、安装 docker
1. 安装 docker
yum install docker ps: 更新 docker 用 yum update
2. 启动 docker 服务
systemctl start docker.service
3. 配置开机启动
systemctl enable docker.service
4. 配置 docker 加速器
配置 docker 加速最快的方法直接修改/etc/docker/daemon.json 下的配置信息为:
{
"registry-mirrors": ["https://d8b3zdiw.mirror.aliyuncs.com"]
}
5. 在终端重启 docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker
二、部署.NetCore 应用到 Docker
1. 新建一个 ASP.NET Core 2.2 项目,在 Windows 下发布运行成功
2. 添加 docker 支持,选择 Linux(或在添加项目时勾选启用docker支持)


3.编写DockerFile,并设置文件属性:始终复制
FROM microsoft/dotnet:2.2-aspnetcore-runtime
COPY . /apiweb
WORKDIR /apiweb
EXPOSE
ENTRYPOINT ["dotnet", "ApiWeb.dll"]
构建Dockerfile 注释
① FROM指定基础镜像,这里统一使用microsoft/dotnet(:tag)Tag是一个标签,指定一个版本或者最近的版本(即latest)
② COPY拷贝发布文件到本地的/ apiweb /的路径下,供容器使用
③ WORKDIR 指定容器的工作目录
④ EXPOSE 指定容器的端口(注意,不是服务器访问到程序的端口)
⑤ ENTRYPOINT 执行交互命令,使用CMD亦可赛艇,但是注意两者都是执行完整命令的话,是会相互覆盖的,只有最后一个有效。

4.发布项目

5.将Dockerfile文件复制到发布成功的目录,并利用ftp工具全部上传到服务器

6.构建Docker镜像
①.进入到发布文件目录(Dockerfile文件所在目录)
cd /home/wwwroot/apiweb

②. 拉取基础镜像
docker pull microsoft/dotnet:2.2-aspnetcore-runtime
③. 执行命令创建镜像 ,注意最后面有个.
docker build -t apiweb .
apiweb是创建镜像的名称,这个命令会根据当前目录下dockerfile配置文件,进行打包。运行查看镜像 docker images
④. 创建容器,其中前一个apiweb是容器名 后一个apiweb是上一步的镜像名。
--name:指定容器名称;
-p:指定容器端口,是进行宿主和容器之间端口的映射,(-p 宿主端口:容器端口);
-d:指定容器后台运行,这样容器就会一直运行,即使关掉终端窗口。
docker run --name=apiweb -p : -d apiweb
或者
docker run --name=apiweb -p 宿主ip:: -d apiweb
出现一长串字符串,便是表示容器运行成功。
7.验证访问
直接通过浏览器访问即可(宿主ip+端口号)。
Docker常用命令:
docker -v / version /info 查看docker版本信息
docker images 查看所有镜像
docker ps 查看所有正在运行的容器
docker ps -a 查看所有容器
docker rmi+镜像ID 删除某个镜像
docker stop+容器ID 停止某个容器
docker start+容器ID 启动某个容器
docker restart+容器ID 重启某个容器
docker rm+容器ID 删除某个容器
docker rmi $(docker images -q) 删除所有镜像
docker rm $(docker ps -a -q) 删除所有容器
docker logs +容器ID 查看容器日志信息找原因
netstat -tanlp 查看端口
kill+端口 杀死某个端口
docker search mysql 镜像检索
docker pull mysql 镜像下载
…
.NetCore 发布到 Centos docker的更多相关文章
- .NetCore发布到Centos docker
将.netcore mvc项目发布到centos7的docker中.环境 vmware14+Centos7+docker-ce 1.使用vs将.netcoremvc项目发布到本地,修改发布后的目录 名 ...
- netcore发布到centos 验证码Zkweb.system.drawing不显示及乱码的问题
netcore发布到centos 使用的是Zkweb.system.drawing生成验证码,发布后可能会出现不显示及乱码的情况 1.验证码图片不显示(通过日志会发现生成图片时代码已经异常) Zkwe ...
- Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)
Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一) 接上一篇 3. Nginx配置反向代理 3.1 cnetos 安装nginx 首先,我们需要在服务器上安装N ...
- Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一)
环境 本地 win7 服务器:Virtual Box 上的Centos ssh工具: Xshell 文件传输: xftp 1.在本地创建asp.net core应用发布 1.1 使用Vs2017 新建 ...
- .NetCore下使用IdentityServer4 & JwtBearer认证授权在CentOS Docker容器中运行遇到的坑及填坑
今天我把WebAPI部署到CentOS Docker容器中运行,发现原有在Windows下允许的JWTBearer配置出现了问题 在Window下我一直使用这个配置,没有问题 services.Add ...
- Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践
原文:Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践 环境 本地 win7 服务器:Virtual Box 上的Centos ssh工具: Xshell 文件传输 ...
- .NetCore部署到CentOS
“天下熙熙,皆为利来:天下攘攘,皆为利往.”,越来越多的人涌入IT这个行业,使得技术发展日新月异之外,也会无情淘汰跟不上潮流的人,所以作为IT从业人员,一定要时刻关注前沿技术,免得有朝一日被拍在沙滩上 ...
- Centos + docker,Ubuntu + docker介绍安装及详细使用
docker笔记 常用命令 设置docker开机自启:sudo chkconfig docker on 查所有镜像: docker images 删除某个镜像:docker rmi CONTAINER ...
- .NETCore 实现容器化Docker与私有镜像仓库管理
原文:.NETCore 实现容器化Docker与私有镜像仓库管理 一.Docker介绍 Docker是用Go语言编写基于Linux操作系统的一些特性开发的,其提供了操作系统级别的抽象,是一种容器管理技 ...
随机推荐
- vitas高音
http://music.163.com/#/song/19674656?userid=65416848
- 【Java】使用IDE开发工具远程调试Java代码
概述 服务端程序运行在一台远程服务器上,我们可以在本地服务端的代码(前提是本地的代码必须和远程服务器运行的代码一致)中设置断点,每当有请求到远程服务器时时能够在本地知道远程服务端的此时的内部状态 测试 ...
- hdu 5120 (求两圆相交的面积
题意:告诉你两个圆环,求圆环相交的面积. /* gyt Live up to every day */ #include<cstdio> #include<cmath> #in ...
- 鲍姆-韦尔奇算法求解HMM参数
1. HMM模型参数求解概述 HMM模型参数求解根据已知的条件可以分为两种情况. 第一种情况较为简单,就是我们已知DD个长度为TT的观测序列和对应的隐藏状态序列,即{(O1,I1),(O2,I2),. ...
- php-fpm超时时间设置request_terminate_timeout分析
之前发现一个php配置之后关于返回500和502的问题,今天看到一个兄弟写的非常不错,记录一下. php日志中有一条超时的日志,但是我request_terminate_timeout中设置的是0 ...
- 关于上级机构的冲突性测试bug修复
描述: 1.上级机构可以为空. 2.机构添加时,选择了上级机构,在未提交前,另一用户将该机构删除,然后前一用户再提交表单,提示会保存成功,本操作应该保存失败. 思路:在上级机构不为空时,保存前进行查询 ...
- 使用express框架和mongoose在MongoDB新增数据
1.安装 express npm i express --save 2.安装 mongoDB npm i mongodb --save 3.安装mongoose npm i mongoose --sa ...
- Codeforces Round #513 by Barcelona Bootcamp C. Maximum Subrectangle(双指针+思维)
https://codeforces.com/contest/1060/problem/C 题意 给两个数组,a数组有n个元素,b数组有m个元素,两个数组元素互相相乘形成n*m的矩阵,找一个子矩阵,元 ...
- shell知识积累
Ubuntu下常用的快捷键:https://blog.csdn.net/u010771356/article/details/53543041 变量名和等号之间不能有空格,变量名中间不能有空格,可以使 ...
- 如何在CentOS7上安装Python3及对应问题
首先一般来说安装好的CentOS是会自带python2.7,但是是没有安装python3的环境的 [root@host bin]# pwd /usr/bin [root@host bin]# ls p ...