Docker在.Net core中的应用

1. 项目添加Docker支持

创建项目的时候可以直接启用Docker支持,如下图:

如果想要在现有项目中添加Docker支持,可以在VS中选中项目右键添加docker支持,如下图:

正确添加完项目Docker支持后,在项目的根目录下会生成一个Dockerfile文件,Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。在项目中我们需要修改Dockerfile的属性,修改为较新则复制。

2. 检查Docker运行状态

打开PowerShell ,输入 docker info 出现下面的界面的样子证明docker 一切正常

如未能成功启用,首先先检查一下Hyper-V是否正常启动,打开资源管理器查看即可,如下图:

输入 docker hello-world 检查docker是否可以正常链接到镜像,出现下图代表正常。

错误tips:

出现错误:

Unable to find image ‘hello-world:latest’ locally

latest: Pulling from library/hello-world

...

 解决方式:添加国内镜像加速源,修改 resources: "registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"],后重启docker


对dockerfile文件解释说明:

1.FROM

通过FROM指令来设置要制作的镜像基于哪个镜像,FROM指令必须是整个Dockerfile的第一个指令,如果指定的镜像不存在默认会自动从Docker Hub上进行拉取

2.WORKDIR

通过workdir指令用于设置Dockerfile中的RUN、CMD和ENTRYPOINT指令执行命令的工作目录(默认为/目录),该指令在Dockerfile文件中可以出现多次,如果使用相对路径则为相对于WORKDIR上一次的值

3.COPY

通过COPY指令来从指定路径拷贝一个文件或目录到容器的指定路径中

4.RUN

RUN指令会在一个新的容器中执行任何命令,然后把执行后的改变提交到当前镜像,提交后的镜像会被用于Dockerfile中定义的下一步操作,RUN中定义的命令会按顺序执行并提交,这正是Docker廉价的提交和可以基于镜像的任何一个历史点创建容器的好处,就像版本控制工具一样

5.EXPOSE

通过EXPOSE指令用来告诉Docker这个容器在运行时会监听哪些端口

6.ENTRYPOINT

通过ENTRYPOINT指令我们指定在容器启动时要运行的应用程序

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker是一个开源的容器化平台,可以将应用程序及其依赖项打包成一个独立的可移植容器,以便在任何环境快速部署和运行。它提供了跨平台的容器化解决方案,能够提高应用程序的可移植性和可靠性。 Jenkins是一个开源的自动化构建工具,它能够自动化构建、测试和部署项目。通过使用Jenkins,开发人员可以实现持续集成和持续交付(CI/CD),从而提高开发效率和软件质量。 .NET Core是一个跨平台的开发框架,可以在多种操作系统上运行。它是微软推出的下一代开发框架,允许开发人员使用多种编程语言(如C#、F#等)进行开发,并且具有高性能和可扩展性。 在使用Jenkins进行CI/CD时,结合Docker可以实现更高效的构建和部署流程。可以通过Docker容器化应用程序和其依赖项,使得项目在不同环境运行更加稳定和可靠。通过使用Docker镜像,我们可以在不同的开发、测试和生产环境快速部署应用程序,并且可以保证环境的一致性。 同时,利用Jenkins的插件和Docker插件,我们可以在Jenkins集成Docker容器的管理和部署功能。例如,可以通过Jenkins自动化构建.NET Core应用程序,并将构建好的镜像推送到Docker仓库。然后,在部署阶段,可以使用Jenkins的Docker插件来自动化部署应用程序到指定的Docker容器。 总的来说,结合Docker、Jenkins和.NET Core SDK可以实现持续集成和持续交付的自动化流程,提高开发效率和软件质量。通过容器化应用程序和使用跨平台的.NET Core框架,我们可以实现更高效、可靠和可移植的应用程序开发和部署。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值