『Docker』在Docker快速部署.NET Core项目

简介: 📣读完这篇文章里你能收获到 - 在Docker快速部署.NET Core项目
+关注继续查看

请添加图片描述
📣读完这篇文章里你能收获到

  • 在Docker快速部署.NET Core项目
  • 感谢点赞+收藏,避免下次找不到~

请添加图片描述

一、通过VisualStudio添加文件

1 在项目中右键添加Docker支持

在这里插入图片描述

2 选择Linux

在这里插入图片描述

3 确定后生成Dockerfile文件

在这里插入图片描述

3.1 Dockerfile文件详解

dockerfile的指令:

  FROM:指定基础镜像(FROM是必备的指令,并且必须为第一条指令)。

  RUN: 用来执行命令行命令。其基本格式:

      shell格式: RUN  <命令>  ,输入在bash环境中的命令即可,一个dockerfile允许使用RUN不得超过127层,所以,使用一次RUN, 使用 ‘ \ ’ 换行,使用‘ && ’执行下一条命令。一般使用此种格式;

      exec格式: RUN  <"可执行文件", "参数1", "参数2">,此种方式像是函数调用中的格式;

  COPY:  复制文件。 其基本格式:

      格式1:COPY <源路径>...<目标路径>

      格式2:COPY [“<源路径1>”,....."<目标路径>"]

  ADD: 更高级的复制文件,在COPY的基础上增加了一些功能,如果复制的是压缩包的话,会直接解压,而不需要在使用RUN解压;

  CMD:容器启动命令。其基本格式:

      shell格式: CMD <命令>

      exec格式: CMD ["可执行文件", "参数1", "参数2"...]

      参数列表格式: CMD [“参数1”, “参数2”...],在指定了ENTRYPOINT指令后,用CMD指定具体的参数

  ENTRYPOINT: 入口点。其基本格式分为exec和shell,

      ENTRYPOINT的目的和CMD一样,都是在指定容器启动程序及参数。ENTRYPOINT在运行中可以替代,不过比CMD繁琐,需要通过docker run 的参数--entrypoint 来指定。当指定了ENTRYPOINT后,CMD的含义就发生了改变,不在是直接运行其命令,而是将CMD的内容作为参数传递给ENTRYPOINT指令。其执行时就变成了:  <ENTRYPOINT> "<CMD>"

  ENV: 设置环境变量。(都可以使用这里使用的变量)其基本格式:

      格式1:ENV <key> <value>

      格式2:ENV <key1>=<value1> <key2>=<value>...

  ARG: 构建参数。构建参数和ENV的效果一样,都是设置环境变量,所不同的是ARG所构建的环境变量在将来容器运行时是不存在的。其基本格式:

      格式1: ARG <参数名> [=<默认值>]

      格式2: 该默认值可以在构建命令 docker build  中用 --build-arg <参数名>=<值> 来覆盖

  VOLUME: 定义匿名卷。 其基本格式:

      格式1: VOLUME ["<路径1>", "<路径2>"...]

      格式2: VOLUME <路径>

  EXPOSE:  暴露端口。EXPOSE指令是声明运行时容器所提供的端口,在启动容器时不会在因为这个声明而开启端口。 其基本格式:

      格式1: EXPOSE <端口1> [<端口2>...]

  WORKDIR: 指定工作目录。其基本格式:

      格式1: WORKDIR <工作目录路径>

  USER: 指定当前用户。USER是帮助你切换到指定用户。 其基本格式:

      格式1: USER <用户名>

  HEALTCHECK: 健康检查,判断容器的状态是否正常。 其基本格式:

      格式1: HEALTCHECK [选项] CMD <命令> :设置检查容器健康状况的命令

      格式2: HEALTCHECK NONE: 如果基础镜像有健康检查指令,使用此格式可以屏蔽掉其健康检查指令

请添加图片描述

二、Linux操作

1 通过ftp方式把整份代码拷贝至Linux中

在这里插入图片描述

2 下载netcore基础镜像

docker pull microsoft/dotnet #下载基础镜像

3 构建镜像

docker build -t dockertest -f Dockerfile .

4 运行镜像

docker run -itd -p 8082:80 dockertest

5 运行成功

  • 访问ip+8082端口即可
相关文章
|
1月前
|
jenkins Shell 持续交付
jenkins中部署.net core到docker
jenkins中部署.net core到docker
38 0
|
1月前
|
Docker 容器
docker 部署 .net core
docker 部署 .net core
26 0
|
5月前
|
Docker 容器
.NET Core 网站项目在Docker中运行无法访问问题处理
.NET Core 网站项目在Docker中运行无法访问问题处理
77 0
|
7月前
|
监控 Linux 编译器
六、.net core (.NET 6)程序部署到Docker上
使用Docker部署应用程序首先确保已经安装Docker 桌面软件,如下图:
415 0
六、.net core (.NET 6)程序部署到Docker上
|
8月前
|
Linux Docker 容器
.net Core WebApi发布到Docker并推送到阿里云容器服务
.net Core WebApi发布到Docker并推送到阿里云容器服务
184 0
.net Core WebApi发布到Docker并推送到阿里云容器服务
|
数据可视化 Docker 容器
(1)将.NET Core编写的数据可视化项目打包成Docker镜像,实现容器化部署
(1)将.NET Core编写的数据可视化项目打包成Docker镜像,实现容器化部署 第一步 环境准备,安装docker环境:
(1)将.NET Core编写的数据可视化项目打包成Docker镜像,实现容器化部署
|
开发框架 Kubernetes .NET
ASP.NET Core: 二十八. 在Docker中的部署以及docker-compose的使用(三)
本文简要说一下ASP.NET Core 在Docker中部署以及docker-compose的使用。 系统环境为CentOS 8 。
109 0
ASP.NET Core: 二十八. 在Docker中的部署以及docker-compose的使用(三)
|
开发框架 监控 NoSQL
ASP.NET Core: 二十八. 在Docker中的部署以及docker-compose的使用(二)
本文简要说一下ASP.NET Core 在Docker中部署以及docker-compose的使用。 系统环境为CentOS 8 。
257 0
|
存储 开发框架 缓存
ASP.NET Core: 二十八. 在Docker中的部署以及docker-compose的使用(一)
本文简要说一下ASP.NET Core 在Docker中部署以及docker-compose的使用。 系统环境为CentOS 8 。
132 0
ASP.NET Core: 二十八. 在Docker中的部署以及docker-compose的使用(一)
推荐文章
更多