首页 > 其他分享 >docker部署netcore项目

docker部署netcore项目

时间:2023-01-26 18:56:05浏览次数:35  
标签:netcore 部署 项目 https 服务器 镜像 docker Dockerfile

1.部署历史

猿友们好,作为初来实习的我,已经遭受社会的“毒打”,所以请容许我在下面环节适当吐槽,3Q!



传统部署

​ 回顾以往在服务器部署webapi项目(非独立发布),dotnet环境、守护进程两个逃都逃不掉,正常情况下还得来个nginx代理。不仅仅这仨,可能牵扯到yum或npm。node等都要下载,对于像我这样的初学者简直谈之色变,只能祈祷千万别报错,不然又是被error折磨的一天~


docker部署

​ 在我一直认为自己只是一个开发人员的时候,领导突然发给我一个哔站网址,被要求学习使用docker将项目打包成镜像文件夹上传给甲方服务器。说实话我是及其不情愿的,这是运维的活啊!但一眼望去,公司哪有运维呢?(领导刷到莫在意哈,我的博客我就要有感必发!),何况我只是实习新手,那就多学多干吧。

​ 我点开哔站网址,全长3小时,看了一集完全听不懂,我心想公司是直接给我一个速成班吗?无奈,我重新挑选教学视频。以下是docker部署,就是只需在服务器上安装docker,然后传统所需的环境只要在docker中拉取,最后把其打包成一个镜像文件夹,如何是跨操作系统,这样只需在目标服务器上传文件夹即可。




2.正式部署

以net core项目为例,有两中生成镜像方式,一是在自己电脑打包发布项目上传至服务器再执行镜像命令;另一种是服务器统一打包发布构建镜像。


Linux

打包发布构建镜像都在Linux上,这个我不会,不介绍了


本地

1.说明

此示例基于https项目,需要在目录中有证书文件和相关代码。为了简单,下面的演示我没有把与证书相关步骤展示,猿友们在创建项目时可以不勾选https,则与演示步骤一致

此示例的一些命令没有解释,我希望是有针对性的写案例,不想添加解析徒增混杂,命令解释可见其他博客

2.生成Dockerfile文件

右击项目生成Dockerfile文件


这是生成的Dockerfile文件,有些命令是给服务器统一构建镜像使用的,因为我们在本地所以只保留这几行命令即可。




将Dockerfile文件设置为始终复制,让工作/发布的文件夹中包含它


我们要注意Dockerfile文件中EXPOSE 端口号命令,如果项目的Program指定了urls则必须使用其指定的,否则默认80(这个会单独介绍,太坑了!)


我看的教学视频中有提到删除配置文件的Docker启动,其实删除不删除都无所谓,只要不要使用该选项启动即可,因为这个需要本地电脑安装了docker![](/i/l/?n=23&i=blog/2574432/202301/2574432-20230126182750610-74204698.png)


3.上传服务

把项目上传到服务器中,Dockerfile文件也要存在才行



4.生成镜像和容器

我们将根目录切成项目位置(Dockerfile文件所在目录),执行生成镜像命令,并查看镜像列表



执行生成容器命令,并查看所有容器列表(注意,我使用的https,https也需要额外添加证书,这个也会单独博客,都是坑啊~朋友们可以在创建项目时不勾选http即可)


启动容器


浏览器访问,nice!



3.参考

感谢以下博主让我从深坑爬起~

#博客
https://mp.weixin.qq.com/s/JU4hTbsSbNkM5BwfBXUCiA

#视频
https://www.bilibili.com/video/BV1vC4y1p7Za?p=23&vd_source=6222e02dd83374fd4d8850e5384b16f6

标签:netcore,部署,项目,https,服务器,镜像,docker,Dockerfile
From: https://www.cnblogs.com/long-live/p/docker-core.html

相关文章

  • docker迁移目录
     停止docker服务  systemctlstopdocker切换目录 cd/var/lib查看目录 ls移动目录mv /var/lib/docker/app/docker查看目录 ls创建软连接 ln-s/app......
  • docker安装
    Docker基本安装**操作系统版本要求**CentOS7要求系统为64位、系统内核版本为3.10以上。CentOS-6.5或更高的版本的CentOS上,要求系统为64位、系统内核版本......
  • ClickHouse分布式安装-Docker环境
    安装背景本文主要介绍了在Docker环境下如何安装ClickHouse集群的过程,ClickHouse集群采用单分片三副本模式进行部署。服务器:bigdata1、bigdata2、bigdata3zookeeper:需要安装z......
  • 如何在 Kubernetes 部署 PostgreSQL
    文章目录​​1.简介​​​​2.条件​​​​3.helm部署posgresql​​​​3.1添加Helm存储库​​​​3.2默认安装​​​​3.3选参安装​​​​3.4持久存储安装​​......
  • docker 日常命令小笔记
    目录​​常见命令​​​​启动并启动日志​​​​进入容器​​​​dockerfiles​​​​apk命令​​​​编辑网卡centos​​​​重启网卡​​​​查看防火墙的状态​​​​......
  • docker-compose安装minio
    minio:RELEASE.2022-09-07T22-25-02Z创建文件vidocker-compose.yml脚本内容如下:version:'3'services:minio:image:minio/minio:RELEASE.2022-09-07T22-......
  • Docker 基础 - 3
    Web服务器与应用Nginx我的NginxDocker镜像##设置继承自己创建的sshd镜像FROMcaseycui/ubuntu-sshd##维护者LABELmaintainer="CaseyCuicuikaidong@foxmai......
  • Docker
     第一章初识Docker1.1Docker概念Docker是一个开源的应用容器引擎诞生于2013年初,基于Go语言实现,dotCloud公司出品(后改名DockerInc)Docker可以让开发者打包他们的应......
  • 解决docker push镜像到私有仓库时的报错【http: server gave HTTP response to HTTPS
    一:解决dockerpush镜像到私有仓库时的报错【http:servergaveHTTPresponsetoHTTPSclient】......
  • cephfs的部署和使用
      cephfs使用  cephFS即cephfilesystem,可以实现文件系统共享功能(POSIX标准),客户端通过ceph协议挂载并使用ceph集群作为数据存储服务器,https://docs.ceph.c......