惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Project Zero
Project Zero
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google DeepMind News
Google DeepMind News
Recent Announcements
Recent Announcements
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
G
Google Developers Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Recorded Future
Recorded Future
B
Blog RSS Feed
The GitHub Blog
The GitHub Blog
爱范儿
爱范儿
博客园 - 三生石上(FineUI控件)
D
DataBreaches.Net
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
NISL@THU
NISL@THU
T
Tailwind CSS Blog
博客园 - 【当耐特】
P
Privacy International News Feed
I
InfoQ
L
LINUX DO - 热门话题
H
Help Net Security
博客园 - 叶小钗
aimingoo的专栏
aimingoo的专栏
AWS News Blog
AWS News Blog
Scott Helme
Scott Helme
Cyberwarzone
Cyberwarzone
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Forbes - Security
Forbes - Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
WordPress大学
WordPress大学
T
Troy Hunt's Blog
Spread Privacy
Spread Privacy
V
V2EX
Cloudbric
Cloudbric
Security Latest
Security Latest
H
Heimdal Security Blog
S
Securelist
I
Intezer
F
Full Disclosure
V2EX - 技术
V2EX - 技术
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
小众软件
小众软件
Security Archives - TechRepublic
Security Archives - TechRepublic
L
Lohrmann on Cybersecurity
S
Schneier on Security
C
Cybersecurity and Infrastructure Security Agency CISA

博客园 - 心冰之海

最佳的免费Linux杀毒软件有哪些 源代码管理工具TFS简介 信息安全岗位技能提升路径图 IDEA,mysql,mysql workbeanch 新手开发环境搭建教程 JVM-性能优化工具 MAT SQL SERVER死锁查询,死锁分析,解锁,查询占用 Spring Boot热更新技巧:节省90%重启时间 Java spring boot 银河麒麟系统V10安装mysql5.7 Keycloak 安装 使用 DBeaver 企业版将 SQL Server 数据库迁移至达梦 DM8 DBeaver 23.2 AI 智能体 DeepSeek本地化部署超简单,比装个office还简单 数据可视化分析平台 DataEase .NET 6应用程序适配国产银河麒麟V10系统随记 Nginx的安装并配置web服务 nginxUI 安装及学习 AI编程
Linux上使用docker部署.net8项目详细教程
心冰之海 · 2025-01-21 · via 博客园 - 心冰之海

在docker上部署自己的.net8 webapi,以腾迅linux云服务为例:

docker的学习和具体安装可以访问官网地址:
Docker官方安装教程文档网址:https://docs.docker.com/engine/install/centos/

1.安装docker

1.1 查看docker是否已安装:

命令:docker -v
image

如果显示版本,说明已经安装成功,无需再安装

1.2 docker未安装,执行以下步骤安装

1.2.1 添加 Docker 软件源。

dnf config-manager --add-repo=http://mirrors.tencent.com/docker-ce/linux/centos/docker-ce.repo

1.2.2 查看已添加的 Docker 软件源。

dnf list docker-ce

1.2.3 安装docker

dnf install -y docker-ce --nobest

1.2.4 运行docker

systemctl start docker

1.2.5 查看docker信息

docker info

image

2.创建webapi项目

2.1 新建解决方案

image

写上自己业务逻辑的控制器和方法

2.2 选择项目AspNetCoreWebApi,

image

右键添加docker支持,
image

添加成功会出现Dockerfile【D必须大写】
image

内容大致如下:

image

打开项目 目录 Properties 下 launchSettings.json 文件,将会看到新增的如下内容:

image

需要注意的是Dockerfile文件中的 EXPOSE后方的端口需要与 Properties\launchSettings.json 文件中的 ASPNETCORE_HTTP_PORTS 指定端端口一致,该端口在部署到 docker 后,将作为容器端口使用。

3.发布项目

3.1 发布上传

image

image

将public目录下的所有文件上传到linux服务器上,linux上传目录如下:/root/dockerwebapi/AspNetCoreWebApi/publish
image

3.2 定位到public同级目录,创建Dockerfile文件

touch Dockerfile
vim   Dockerfile

image

3.3 vim编辑,输入下面的内容

FROM mcr.microsoft.com/dotnet/aspnet:8.0.0
WORKDIR /publish
EXPOSE 18080
EXPOSE 443
COPY ./publish/ .
ENV ASPNETCORE_URLS http://+:18080
ENTRYPOINT ["dotnet","AspNetCoreWebApi.dll"]

注意:ENTRYPOINT ["dotnet","AspNetCoreWebApi.dll"]AspNetCoreWebApi.dll是我项目的dll。项目不一样名字就不一样。这里请用实际项目的dll名称哦

4.生成镜像

4.1 生成镜像

【推荐使用,注意镜像名字需要字母小写】命令:docker build -t 镜像名称:版本号 .

docker build -t aspnetcorewebapi:1.0.0 .

docker build -t aspnetcorewebapi .

image

4.2 查看镜像

docker images

image
镜像创建成功

5运行镜像

docker run -d -p 18080:18080 --name mywebapicontainer aspnetcorewebapi
#-d:后台运行     -P:暴露端口给客户端访问   --name 创建一个容器 指定镜像

【注意:如果有指定版本的项目运行镜像时需要加版本号,这个取决于你生成的镜像,如果不带版本号,默认运行是最新的, docker run -d -p 18080:18080 --name mywebapicontainer aspnetcorewebapi:1.0.0】

运行成功后,输入下列命令。查看运行的进程。方便定位信息,如果有容器id说明成功了

docker ps

5.2 地址访问

image
image

成功访问,项目正常发布成功,nice!

 https://www.cnblogs.com/chenshibao/p/18501537