C# .net项目Docker方式部署


安装Docker Desktop Installer

C# .net项目Docker方式部署

安装成功后,输入 docker -v 可以查到docker版本

项目DockerFile配置

添加Docker支持

C# .net项目Docker方式部署

Markup 全选
# 请参阅 https://aka.ms/customizecontainer 以了解如何自定义调试容器,以及 Visual Studio 如何使用此 Dockerfile 生成映像以更快地进行调试。

# 此阶段用于在快速模式(默认为调试配置)下从 VS 运行时
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
USER app
WORKDIR /app
EXPOSE 8080
COPY . .
ENTRYPOINT ["dotnet", "JOC.LicServer.dll"]

 

项目编译发布:

C# .net项目Docker方式部署

本地测试生成docker镜像

生成命令执行前,先确保运行了docker

C# .net项目Docker方式部署

在编译目录运行命令:

Markup 全选
docker build -t joc.lic.server:25.102.100 .

C# .net项目Docker方式部署

 

Linux服务器部署

修改数据库连接配置:

Markup 全选
Data Source=mssql,14338;User Id=sa;Password=123456;Initial Catalog=LicServer;Pooling=True;Connect Timeout=30;App=JOCSOFT;MultipleActiveResultSets=True;Trust Server Certificate=True;

这里datasource使用容器会报错,无法连接,具体怎么用先不管,应该是端口号。先使用ip地址吧

 

mssql:对应sqlserver关联容器的映射名称

创建docker镜像

Markup 全选
docker build -t joc.lic.server:25.102.100 .

容器编译后,运行docker images查看镜像是否存在

C# .net项目Docker方式部署

运行容器

Markup 全选
docker run -d --name joc.lic.server -p 9010:8080  --link=xSqlserver2019:mssql -v /opt/JocLicServer:/app joc.lic.server:25.102.100 --restart=always  

上面命令运行会报错。提示.netSDK不存在什么得,因此我们去掉-v指令,就正常了

Markup 全选
docker run -d --name joc.lic.server -p 9010:8080  --restart=always  

 

--link=xSqlserver2019:mssql xSqlserver2019为sqlserver容器名称  mssql为映射容器的别名

其他:

查看镜像列表

docker images

 

删除镜像

docker rmi <ImageID>

 

创建容器

 

docker run -d -p 8080:8080 --name jira_7.2.2 --link=mysql_5.5:mysql  cptactionhank/atlassian-jira-software:7.2.2

docker run -d --name joc.lic.server -p 9010:8080  --link=xSqlserver2019:mssql-v /opt/JocLicServer:/app joc.lic.server:25.102.100 --restart=always  

 

docker run -d --name joc.lic.server -p 9010:8080 joc.lic.server:25.102.100 --restart=always

 

docker run -d --name joc.lic.server --restart=always -p 9010:8080 --mount type=bind,source=/opt/JocLicServer,target=/app joc.lic.server:25.102.100

 

 

 

设置目录权限

chmod -R 755 /opt/JocLicServer

 

 

删除容器

 

停止

docker stop joc.lic.server

或kill

docker kill joc.lic.server

 

 

删除

docker rm joc.lic.server

 

 

创建一个SQL2019容器Bridge网络

docker network create sql2019net

查询容器网络

docker network ls

 

 

容器中执行bash

docker exec -it joc.lic.server bash

docker exec -u root -it test.api /bin/bash

 

 

 

查看容器网络信息

docker inspect test.api | grep -A 20 "Networks"

 

xSqlserver2019

13d7b23baecc

 

apt -y install iputils-ping

 

 

docker run -it --name centos-1 --network testnet --network-alias centos-1 docker.io/centos:latest

docker run -it --name centos-2 --network testnet --network-alias centos-2 docker.io/centos:latest

 

测试:

http://127.0.0.1:9010/WeatherForecast

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
张国生
上一篇:使用Linux操作系统读写NTFS移动硬盘的方法 (linux读写ntfs移动硬盘)
下一篇:团餐易部署文档
评论列表

发表评论

评论内容
昵称:
关联文章

C# .net项目Docker方式部署
使用.NET 6开发TodoList应用(30)——实现Docker打包和部署
.NET Core 项目windows server中部署
.net Core项目 IIS部署运行异常信息输出
《步步入门》 .NET 6 部署到Linux
重新认识Docker Compose之Sidecar模式
YESWEB项目 生产环境部署
热更新部署
.NET C#教程初级篇 1-1 基本数据类型及其存储方式
YESWEB项目部署
CentOS Docker命令集合
Docker安装Redis
《步步入门》.NET6在Linux下以守护进程方式运行
asp.net core 支持多种身份认证方式
C#四舍五入的正确方式Math.Round
ASP.NET+MVC入门踩坑笔记 (一) 创建项目 项目配置运行 以及简单的Api搭建
YES-WEB快速开发框架,.NET WEB开发平台,高效的web项目开发框架
.net core api部署为windows服务
C# 值得永久收藏的WPF项目实战(经典)
C# 使用Roslyn编译项目 .csproj

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码