一、使用 yum 安装(CentOS 7下) 

  Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

  通过 uname -r 命令查看你当前的内核版本

  

二、安装 Docker 

  从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。

  Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。

  1、移除旧的版本 

$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

  2、安装一些必要的系统工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

  3、添加软件源信息

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  4、更新 yum 缓存

sudo yum makecache fast

  5、安装 Docker-ce

sudo yum -y install docker-ce

  6、启动 Docker 后台服务 

sudo systemctl start docker

  7、测试运行 hello-world 

[root@localhost /]# docker run hello-world

  

二、Asp.Net Core2.2 web程序

  

  dockerfile是你的应用部署到docker上所必须的配置信息,只是个不带扩展名的纯文本文件而已

  

  设置Makefile属性【始终复制

  

  Dockerfile内容为

FROM microsoft/dotnet:2.2-aspnetcore-runtime  #基础镜像为dotnetcore
MAINTAINER demo                    #作者 LABEL description="this is a test website"  #描述
LABEL version="1.0"                 #描述 WORKDIR /app                    #工作目录
COPY . .                      #将当前目录下的文件,复制到WORKDIR目录
EXPOSE                     #容器暴漏8888端口,与上一步设置的端口一致
ENTRYPOINT ["dotnet","demo.dll"]      #运行容器的命令

  修改Program.cs文件

namespace demo
{
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
} public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseUrls("http://*:8888")
.UseStartup<Startup>();
}
}

  发布,文件系统

  默认位置 

demo\bin\Release\netcoreapp2.\publish

  

三、构建镜像

  1、切换到发布目录  

[root@localhost publish]

  2、修改Makefile文件

  

  指定容器对外暴露端口80。注意,COPY .后面有空格,表示是当前位置,意思是从当前位置复制文件到/publish目录下

  3、根据当前目录下dockerfile配置文件,进行打包  

[root@localhost publish]# docker build -t demo .

  

  4、查看我们打包好的镜像。

[root@localhost publish]# docker images

  

四、运行docker容器

[root@localhost publish]# docker run -d -p : demo

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

   -d命令,容器就会一直运行,即使关掉终端窗口

  检验docker容器是否运行成功

  

五、测试

  本机要输Centos的IP

  

  Centos内访问localhost就可以了

  

说明

  1、配置docker开机启动

systemctl  enable docker

  2、确认容器有在运行

[root@localhost /]# docker ps

  

  CONTAINER ID:容器ID

  NAMES:自动分配的容器名称

  在容器内使用docker logs命令,查看容器内的标准输出

  3、开始/停止容器

[root@localhost /]# docker start/stop  容器id或者容器名

  4、重启docker服务,遇到此类错误

  

  原因是docker服务挂掉了 

systemctl restart docker

CentOS7下使用Docker容器化.net Core 2.2的更多相关文章

  1. windows下建立netcore控制台程序,然后传送到centos7下的docker容器里运行

    1.首先,在window下用vs2017开发netcore控制台项目. 2.把建立好的项目传送到centos7下面的容器里. docker cp sharefoldersforwindows/ 359 ...

  2. Docker容器化技术(下)

    Docker容器化技术(下) 一.Dockerfile基础命令 1.1.FROM - 基于基准镜像 FROM centos #制作基准镜像(基于centos) FROM scratch #不依赖任何基 ...

  3. docker容器化python服务部署(supervisor-gunicorn-flask)

    docker容器化python服务部署(supervisor-gunicorn-flask) 本文系作者原创,转载请注明出处: https://www.cnblogs.com/further-furt ...

  4. docker(一) Centos7下安装docker

    docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...

  5. CentOS7下安装docker(Docker系列1)

    CentOS7下安装docker 系统要求 为了安装docker,需要准备 64-bit的CentOS 7 删除非官方的Docker包 yum的仓库中有一个很旧的Docker包, 现在Docker官方 ...

  6. spring boot本地开发与docker容器化部署的差异

    spring boot本地开发与docker容器化部署的差异: 1. 文件路径及文件名区别大小写: 本地开发环境为windows操作系统,是忽略大小写的,但容器中区分大小写 2. docker中的容器 ...

  7. Gogs的Docker容器化部署流程遇到的问题

    Gogs的Docker容器化部署流程遇到的问题   最近在学习CI/CD的一些方案,个人比较青睐容器化轻量级.CI方面一开始是想使用gitlab的,但是发现我自己买的服务器配置太低,内存根本不够(大写 ...

  8. 海纳百川无所不容,Win10环境下使用Docker容器式部署前后端分离项目Django+Vue.js

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_179 随着现代化产品研发的不断推进,我们会发现,几乎每个产品线都会包含功能各异的服务,而且服务与服务之间存在也会存在着错综复杂的依 ...

  9. Centos7下卸载docker

    最近发现某台机器上的Docker服务无法开启,报如下错误: [root@localhost ~]# docker ps -a Cannot connect to the Docker daemon. ...

随机推荐

  1. Appium——详解Appium server capabilities

      appium server capabilities来告诉appium,如何运行自动化测试,因此需要详细了解. 官方文档:http://appium.io/slate/en/master/?rub ...

  2. eclipse订制快捷键

    步骤: 1.window-preference. 2.在(1)处输入keys,在(2)处输入命令的原来的快捷键,方便找到Binding,在(3)处输入自定义的快捷键.点击“apply and clos ...

  3. codeforces B. Marathon 解题报告

    题目链接:http://codeforces.com/problemset/problem/404/B 题目意思:Valera 参加马拉松,马拉松的跑道是一个边长为a的正方形,要求Valera从起点( ...

  4. Linux_基于Docker快速搭建个人博客网站

    时间:2017年04月28日星期五 说明:基于docker技术,使用jpress开源框架搭建个人博客网站.特别感谢jpress开源项目.系统版本:CentOS 7.2-64bit. 步骤一:准备Doc ...

  5. BZOJ_2801_[Poi2012]Minimalist Security_dfs树+特判+乱搞

    BZOJ_2801_[Poi2012]Minimalist Security_dfs树+特判+乱搞 Description 给出一个N个顶点.M条边的无向图,边(u,v)有权值w(u,v),顶点i也有 ...

  6. Intellij IDEA 弹窗License activation 报 this license BIG3CLIK6F has been cancelled 错误的解决。

    this license BIG3CLIK6F has been cancelled 具体如下: 对,没错,这个激活码本来可以使用到2018年的,但是,忽然间就不能用了.经查询吧. 还得修改个系统配置 ...

  7. 使用Node.js实现简单的网络爬取

    由于最近要实现一个爬取H5游戏的代理服务器,隧看到这么一篇不错的文章(http://blog.miguelgrinberg.com/post/easy-web-scraping-with-nodejs ...

  8. 将List<T>集合用DataGridView展示

    一.若要将List<T>集合的值赋值给DataGridView,首先要DataGridView中的列的DataPropertyName的值要和此集合的T类型的属性字段的名称,类型一致,并且 ...

  9. c语言中#和##的用法

    一.一般用法 我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起. 用法: #include<cstdio> #include<climits> using nam ...

  10. 国内互联网公司的开源项目及github地址汇总

    国内互联网公司的开源项目及github地址汇总 阿里 阿里的开源项目很多,这也跟@淘宝正明的开源态度密不可分.有很多重量级的项目,例如LVS.Tengine,或者很有实践价值的中间件,例如 MetaQ ...