首页 > 其他分享 >.net6项目部署到linxu的docker中

.net6项目部署到linxu的docker中

时间:2023-04-07 14:58:56浏览次数:44  
标签:容器 Demo FYSY csproj linxu dotnet net6 docker

.net6项目完成点击发布,进入发布页面

注意这里的目标运行时,不要选择linux系统,要选择 可移植。

项目中右键,添加docker支持,有些ide自动生成的代码,修改为如下代码:

#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443


#如果用system.sqlclient.dll访问数据库,需要加这一句
RUN sed -i 's/TLSv1.2/TLSv1.0/g' /etc/ssl/openssl.cnf

COPY ./ ./

#FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
#WORKDIR /src
#COPY ["FYSY.Demo/FYSY.Demo.csproj", "FYSY.Demo/"]
#COPY ["FYSY.Comm/FYSY.Comm.csproj", "FYSY.Comm/"]
#COPY ["FYSY.Domain/FYSY.Domain.csproj", "FYSY.Domain/"]
#COPY ["FYSY.Model/FYSY.Model.csproj", "FYSY.Model/"]
#RUN dotnet restore "FYSY.Demo/FYSY.Demo.csproj"
#COPY . .
#WORKDIR "/src/FYSY.Demo"
#RUN dotnet build "FYSY.Demo.csproj" -c Release -o /app/build
#
#FROM build AS publish
#RUN dotnet publish "FYSY.Demo.csproj" -c Release -o /app/publish /p:UseAppHost=false
#
#FROM base AS final
#WORKDIR /app
#COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "FYSY.Demo.dll"]

采用文件系统的方式发布项目,然后将发布后的文件传输到linux系统中,我这里使用的XShell和XFtp,我这里上传到了/root/app/testDocker中。

创建镜像文件,文件上传后,进行文件所在目录,cd  文件目录 。然后使用以下命令 创建镜像文件  注意后面的 . 不能少,如:docker build -t dotnet6:1.0 .

docker build -t 镜像名称:版本号 .

启动运行容器 ,使用下面的命令启动容器   其中8001是系统的端口号,80是容器  --restart=always 表示容器停止后自动重启(比如服务器重启了),如果运行容器时没有加这个参数,可以使用docker container update --restart=always 容器名字  来修改,  -e TZ=Asia/Shanghai  表示指定容器的时区,以免.net core获取的时间不正确,-d表示后台运行,  -v 是指定挂载目录/home/OnlineBusiness/dotnet_docker_test宿主机目录,当然没有挂载文件可以不写,:后面的是docker应用内目录

docker run -d -p 8030:80 --name 容器名称 --restart=always -e TZ=Asia/Shanghai -d -v /home/OnlineBusiness/dotnet_docker_test:/app 镜像名称:版本号

如:docker run -d -p 8030:80 --name mydotnet6 --restart=always -e TZ=Asia/Shanghai -d dotnet6:1.0

如果容器启动成功,可以使用docker ps查看运行中的容器,这时使用 服务器IP:端口号 及可访问系统,系统部署完成

docker日志目录 /var/lib/docker/containers/容器ID/容器ID-json.log

标签:容器,Demo,FYSY,csproj,linxu,dotnet,net6,docker
From: https://www.cnblogs.com/zzgxl/p/17296144.html

相关文章

  • docker dev Environment+node16+vscode联合开发
    笔记软件在2023/4/713:33:47推送该笔记1.DockerFileFROMcentos:7.6.1810RUNmkdir-p/data/nodeWORKDIR/data/node#RUNcurlhttps://nodejs.org/dist/v16.20.0/node-v16.20.0-linux-x64.tar.gz>node-v16.20.0-linux-x64.tar.gzCOPY/env/node-v16.20.0-linux-x64.......
  • docker搭建dvwa靶场
    查看有哪些DVWA镜像dockersearchdvwa这里选择拉取第一个镜像dockerpullcitizenstig/dvwa访问https://hub.docker.com/搜索镜像名称点击搜索结果,查看信息查看启动方式在kali中输入以下命令dockerrun-d-p80:80citizenstig/dvwa补充:-p80:......
  • docker 学习1
    1.下载地址:https://www.docker.com/2.安装:根据电脑选择不同版本3.注册docker账号4.设置token:文档https://docs.docker.com/docker-hub/access-tokens/5.设置镜像加速:mac为例:setting->dockerEngin->添加"registry......
  • Docker配置代理IP-下载镜像
    1、创建docker.service.d目录mkdir/etc/systemd/system/docker.service.d/2、创建配置文件cat>/etc/systemd/system/docker.service.d/http-proxy.conf<<'EOF'[Service]Environment="HTTP_PROXY=http://192.168.0.108:2335""HTTPS_PROXY=ht......
  • docker-compose 部署 consul v1.15.2
    server1配置文件{"node_name":"consul-server1","datacenter":"zhongtai","domain":"consul","server":true,"log_level":"INFO","ui_conf......
  • K8S 高可用外部 etcd , Docker 容器运行时 (三) 加入K8S集群
    control-plane上执行1、#证如果过期了,可以使用下面命令生成新证书上传,这里会打印出certificatekey,后面会用到kubeadminitphaseupload-certs--upload-certs#你还可以在【init】期间指定自定义的--certificate-key,以后可以由join使用。要生成这样的密钥,可以使用以下......
  • docker使用openJDK导致图片验证码错误
    简介:docker使用openJDK导致Excel导出问题问题:本地环境导出Excel正常,测试环境导出Excel失败image.png看到上方报错日志开始以为是初始化WorkBook失败导致的空指针问题image.png后来打印了WorkBook对象发现并不是这个原因导致的空指针解决办法经排查发现开发项目的时候都是......
  • 二。docker安装mysql 并配置
    1.docker安装mysql1.1使用docker拉取mysql的镜像dockerpullmysql:5.71.2通过镜像启动dockerrun-p3306:3306--namemymysql-v$PWD/conf:/etc/mysql/conf.d-v$PWD/logs:/logs-v$PWD/data:/var/lib/mysql-eMYSQL_ROOT_PASSWORD=123456-dmysql:5.7-p3306:3306:......
  • 【Azure 应用服务】使用Docker Compose创建App Service遇见"Linux Version is too lo
    问题描述使用DockerCompose方式合并多个镜像(Images)文件,然后部署到AppService中,结果失败。报错LinuxVersion太长,不能超过4000个字符。错误消息:{"code":"DeploymentFailed","message":"Atleastoneresourcedeploymentoperationfailed.Pleaselistdeploymentoper......
  • 一、docker的安装及docker-compose安装
    一.安装docker1.1安装curl-fsSLhttps://get.docker.com|bash-sdocker--mirrorAliyun#https://get.docker.com/是一个url地址,这个网址是下载docker脚本,点击这个网址就会看到一串shell脚本,ctrl+F查找mirror就可以看到2个,一个Aliyun,一个AzureChinaCloud使用上面代......