【搭建环境】

系统: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的更多相关文章

  1. .NetCore发布到Centos docker

    将.netcore mvc项目发布到centos7的docker中.环境 vmware14+Centos7+docker-ce 1.使用vs将.netcoremvc项目发布到本地,修改发布后的目录 名 ...

  2. netcore发布到centos 验证码Zkweb.system.drawing不显示及乱码的问题

    netcore发布到centos 使用的是Zkweb.system.drawing生成验证码,发布后可能会出现不显示及乱码的情况 1.验证码图片不显示(通过日志会发现生成图片时代码已经异常) Zkwe ...

  3. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)

    Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一) 接上一篇 3. Nginx配置反向代理 3.1 cnetos 安装nginx 首先,我们需要在服务器上安装N ...

  4. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一)

    环境 本地 win7 服务器:Virtual Box 上的Centos ssh工具: Xshell 文件传输: xftp 1.在本地创建asp.net core应用发布 1.1 使用Vs2017 新建 ...

  5. .NetCore下使用IdentityServer4 & JwtBearer认证授权在CentOS Docker容器中运行遇到的坑及填坑

    今天我把WebAPI部署到CentOS Docker容器中运行,发现原有在Windows下允许的JWTBearer配置出现了问题 在Window下我一直使用这个配置,没有问题 services.Add ...

  6. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践

    原文:Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践 环境 本地 win7 服务器:Virtual Box 上的Centos ssh工具: Xshell 文件传输 ...

  7. .NetCore部署到CentOS

    “天下熙熙,皆为利来:天下攘攘,皆为利往.”,越来越多的人涌入IT这个行业,使得技术发展日新月异之外,也会无情淘汰跟不上潮流的人,所以作为IT从业人员,一定要时刻关注前沿技术,免得有朝一日被拍在沙滩上 ...

  8. Centos + docker,Ubuntu + docker介绍安装及详细使用

    docker笔记 常用命令 设置docker开机自启:sudo chkconfig docker on 查所有镜像: docker images 删除某个镜像:docker rmi CONTAINER ...

  9. .NETCore 实现容器化Docker与私有镜像仓库管理

    原文:.NETCore 实现容器化Docker与私有镜像仓库管理 一.Docker介绍 Docker是用Go语言编写基于Linux操作系统的一些特性开发的,其提供了操作系统级别的抽象,是一种容器管理技 ...

随机推荐

  1. Netty 源码 Channel(一)概述

    Netty 源码 Channel(一)概述 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) Channel 为 Netty ...

  2. Git及其二次开发

    Git And TFS: 将 Visual Studio 用于 Git:http://msdn.microsoft.com/zh-cn/library/hh850437.aspx TFVC 和 Git ...

  3. [C#]WinForm动态删除控件 Controls.Remove()

    今天遇到一个奇怪的问题,在WinForm内动态添加Button后再动态的移除,发生稀奇古怪的现象,Button控件只被规律的移除,没有完全移除 foreach (Control c in this.C ...

  4. HDU 6129 Just do it

    题意:给你一个包含n个数的序列A和一个数m,序列B中的数是序列A经过异或得到的,比如:b[i]=a[1]^a[2]^…..^a[i].现在让你求经过m次异或后,序列B的值.  思路:这题其实和杨辉三角 ...

  5. day06作业---字典循环

    '''1.1使⽤循环打印以下效果: ***************''' for a in range(1,6): print(a*'*') '''1.2: ***** **** *** ** * ' ...

  6. test面板1

    Ext.onReady(function(){                var myPanel=new Ext.TabPanel({                    renderTo:Ex ...

  7. 2018.11.07 bzoj1965: [Ahoi2005]SHUFFLE 洗牌(快速幂+exgcd)

    传送门 发现自己的程序跑得好慢啊233. 管他的反正AC了 先手玩样例找了一波规律发现题目要求的就是a∗2m≡l(modn+1)a*2^m\equiv l \pmod {n+1}a∗2m≡l(modn ...

  8. mac os 下 Android Studio设置真机调试

    http://www.cnblogs.com/developer-wang/p/6719555.html 如果没有 .bash_profile 只需要创建 .bash_profile,然后增加andr ...

  9. vue路由跳转的多种方式

    1.router-link to 跳转 <router-link to="/child"><button>跳转</button></rou ...

  10. c# 快速排序法并记录数组索引

    在遗传算法中,只需要对适应性函数评分进行排序,没必要对所有的个体也参与排序,因为在适应性函数评分排序是可以纪律下最初的索引,排序后的索引随着元素排序而变动,这样就知道那个评分对应那个个体了: usin ...