部署.NET Core3.0至Docker容器

3 篇文章 0 订阅
1 篇文章 0 订阅

创建.NET Core3.0项目

我们为了简化教程,就用.NET Core3.0项目自动创建的Demo去部署到Docker。
创建.NET Core3.0项目
创建后,直接发布项目即可,记住发布文件夹哦。

编写Dockerfile文件

Dockerfile是一个文件格式的配置文件,用户可以使用dockerfile来快速构建自定义的镜像。由一行行命令语句组成,并且支持#开头的注释行。***Dockerfile文件是没有后缀名的***
Dockerfile主题内容一般分为4部分

  • 基础镜像信息
  • 维护者信息使用label指令
  • 镜像操作指令
  • 容器启动时执行指令

Dockerfile文件说明

Dockerfile文件详情

  • FORM-指定所创建镜像的基础镜像
  • WORKDIR-配置工作目录
  • EXPOSE-声明镜像内服务监听的端口
  • COPY-复制内容到镜像
  • ENTRYPOINT-启动镜像的默认入口命令

将Dockerfile放到发布文件夹内

将dockerfile文件放在发布文件夹下

利用PSCP上传文件至Linux

命令:pscp -r D:\LinuxByWindows\Htest root@0.0.0.0:/usr/local/docker/
格式:pscp {0} –r {1}@{2}:{3}

  • {0}:Windows文件地址,文件地址中尽量不要出现中文
  • {1}:Linux服务器用户名,如:root
  • {2}:Linux服务器地址,也就是Linux的Server IP
  • {3}:文件上传到Linux的最终地址,也就是目录
    上传Linux可参考我的博客:文件互传
    连接Linux可参考我的博客:连接Linux
    前往Linux相关文件夹查看结果:
    上传成功

根据Dockerfile构建镜像

  1. Linux进入HTest文件夹
    HTest文件夹

  2. 构建镜像命令:docker build -t hest-core-mvc .(注意后面的点)

    -t ---指定镜像名称
    命令结尾处 . ---表示build上下文为当前目录,默认情况下docker会使用在上下文的根目录下找到Dockerfile文件
    

根据Dockerfile构建镜像

命令:docker build -t hest-core-mvc .
构建镜像成功

构建容器

执行命令:docker run --name hest-core-mvc -d -p 50879:80 hest-core-mvc
参数说明:

  • -d ,表示在后台以守护态(daemonized)形式运行容器
  • -p 外部端口与内部容器端口映射。
  • –name 指定容器的名称。当然可以不指定,默认会为我们创建
  • 最后一个参数 hest-core-mvc 就是我们刚创建的镜像名称
  • 通过docker ps 查看启动(status:Up)的容器 docker ps –a可以看到全部且包括未启动(status:Exited)容器,如果启动失败,如果程序发布没问题,那基本上是Dockerfile的文件,请仔细检查,尤其是copy命令和ENTRYPOINT命令

验证发布结果

验证发布结果

停止指定容器

docker ps 查看所有启动的容器

docker stop {0} 停止指定容器,容器ID

查看容器docker ps –a (可查询到未启动容器)

查询容器

删除指定容器

删除指令,删除名字中带htest的容器:docker rm -f $(docker ps -a | grep “htest*” | awk ‘{print $1}’)
删除指定容器

删除镜像

查看镜像:docker images
删除镜像,删除名字中有htest的镜像:
docker rmi --force `docker images | grep htest | awk ‘{print $3}’`
删除镜像

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值