最简单的Docker部署.netcore webApi 一看就会

发布时间 2023-10-22 00:59:35作者: freshfresh

 

 

  •  学会如何使用Docker部署.NET Core WebAPI
  • 用vscode新建一个文件,文件名存为:dockerfile 不要后缀名 
  • 本地发布一下项目,然后把dockerfile放到发布后的目录里或则选择属性始终复制
  • 创建完之后,发布一下,然后到publish文件夹下面新建个dockerfile,填上四行代码
  • FROM mcr.microsoft.com/dotnet/aspnet:7.0
  • WORKDIR /app
  • COPY . .
  • ENTRYPOINT ["dotnet", "WebApi.dll"]
  • 右键一个txt,然后把后缀名去掉,点保存
  • 这个文件,右键属性,选择始终复制到生成目录
  • 然后发布项目,发布完以后,检查publish目录是否有dockerfile文件
  • 再把publish上传到服务器,然后cd到publish目录,执行构建命令,在执行启动命令
  •  cd到docker目录执行构建命令
  • docker build -t myimage .
  • myimage表示镜像名
  • docker run --restart always -d -p 8081:80 --name admin_api admin
  • admin_api是容器名    admin是依赖的镜像名
  • docker run --restart always -d -p 8081:80 --name 容器名 镜像名
  • 默认是80,执行docker run命令的时候,将80映射到外网的8081,再通过8081就可以访问了
  • 通过 docker images可以查看镜像列表
  • 这个镜像是上一步执行下面命令来的
  • docker build -t myimage . myimage表示镜像名
  • docker build -t webapi .
  • docker run-- restart always -d -p 8081:80- -name webapi webapi
  • docker ps -a
  • docker stop 容器名
  • docker rm 容器名
  • 这个是强制删除 -f,稳一点就先 stop,再rm
  • 有些是有个性化需求,指定了很多参数,这里采用默认值了,所以做了最大程度简化
  • 可以写多个 -p ,来指定多个端口,这些指定网络、挂载目录啥的,都可以通过 参数处理
  • 自己的项目,一般是需要自己构建镜像的,可以提前通过 docker build构建到本地,再修改yaml文件
  • dockerfile是用来构建镜像的,yaml是用来构建容器的
  • 先通过dockerfile打包镜像 再通过命令或者yaml文件启动容器
  • 这是docker最轻松的入门级部署教程,能适用大部分常规场景

docker如何打包镜像文件

Docker,作为一种流行的容器化技术,旨在为开发人员和系统管理员提供一种便捷的方式来构建、部署和运行应用程序。而Docker镜像则是Docker的核心概念之一,它可以被看作是一个包含了应用程序运行所需的所有组件、环境和代码的虚拟化环境。

那么如何打包Docker镜像呢?在本文中,我们将介绍Docker打包镜像文件的流程及注意事项。

Docker镜像概述

在了解如何打包Docker镜像之前,我们需要先了解Docker镜像的基本知识。

Docker镜像是由Dockerfile文件定义的。Dockerfile是一个包含了一系列指令的文本文件,它描述了这个Docker镜像应该如何构建。在构建Docker镜像时,Docker将按照Dockerfile中的指令一步一步地执行,并生成一个新的镜像。

Docker打包镜像流程

下面是一般情况下打包Docker镜像的流程:

1.编写Dockerfile

首先,我们需要创建一个Dockerfile文件,来定义我们的Docker镜像应该包含哪些内容及如何构建。

一个典型的Dockerfile可能包含以下指令:

  1. FROM:指定用作基础镜像的镜像名称。

  2. MAINTAINER:指定镜像的作者信息。

  3. RUN:执行指定的命令和操作。

  4. COPY:将本地文件复制到镜像中。

  5. WORKDIR:设置当前工作目录。

  6. CMD:指定容器启动时需要执行的命令。

2.构建Docker镜像

构建Docker镜像需要使用docker build命令,该命令可以根据Dockerfile中的指令自动构建新的镜像。

命令格式如下:

docker build -t 镜像名

如下所示:

docker build -t my-image /path/to/Dockerfile

-t参数指定了新构建的镜像的名称,/path/to/Dockerfile指定了Dockerfile所在的路径。

3.运行Docker容器

构建好Docker镜像之后,我们需要使用docker run命令来启动容器并运行我们的应用程序。

命令格式如下:

docker run -p <宿主机端口>:<容器端口> -d <镜像名称>

如下所示:

docker run -p 8080:80 -d my-image

-p参数指定了宿主机端口和容器端口之间的映射关系,-d参数指定了容器运行在后台模式下。

4.查看Docker容器

通过docker ps命令可以查看当前运行的Docker容器,命令格式如下:

docker ps

5.停止Docker容器

当我们需要停止一个Docker容器时,可以使用docker stop命令,命令格式如下:

docker stop <容器ID>

6.删除Docker容器

当我们需要删除一个Docker容器时,可以使用docker rm命令,命令格式如下:

docker rm <容器ID>

7.删除Docker镜像

当我们需要删除一个Docker镜像时,可以使用docker rmi命令,命令格式如下:

docker rmi <镜像名称>

注意事项

在打包Docker镜像时,需要注意以下几点:

  1. 在编写Dockerfile时,尽可能地保持Dockerfile的简单、通用和可重用性。

  2. 在构建Docker镜像时,尽量使用更小的基础镜像(buildah、podman试试?),以最小化镜像的大小和资源占用。

  3. 尽量将本地文件复制到容器中,而不是手动将文件上传到容器中,以避免安全问题。

  4. 在使用Docker构建镜像时,需要确保镜像能够正常运行,并具有所需的功能和性能。

  5. 在删除Docker容器和镜像时,需要谨慎操作,以免误删重要数据。

总结

打包Docker镜像是使用Docker的核心技能之一,它可以为开发人员和系统管理员提供一种方便、快捷和可重复的方式来构建、测试和部署应用程序。通过本文的介绍,相信大家对此已经有了一定的了解,希望能够对大家在实际工作中使用Docker提供一定的帮助。

 

3)此外,修改 /etc/environment 这个文件也能实现环境变量的设置。

/etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。 注:系统是先执行/etc/environment,再执行/etc/profile

修改示例

以修改/etc/profile 为例:

PATH="$PATH:/root/.config/composer/vendor/bin"
export PATH

修改后执行如下命令使其立即生效:

source /etc/profile

如果想多加个路径yourpath1,在将“:yourpath1” 加载path后面,如:

PATH=”$PATH:/root/.config/composer/vendor/bin:yourpath1”

export作用说明:

  • export用于声明一个环境变量:

  • export variable=value

  • 该环境变量只在本进程和其子进程中可以访问。

  • 如果是在系统级的配置文件中,如/etc/profile中export 一个变量,那么这个变量就会在整个系统运行期间都起作用。

  • 如果在用户级~/.bash_profile之类的文件中,则每次启动shell都会去读这个文件,所以每次打开shell也是可以取到这个值的。

  • 如果在某一次运行中,手动export一个变量,则只在这次shell的使用中,才能访问这个变量,或者在该shell启动的其他程序中,也是可以访问这个变量的,因为它们是这个shell的子进程。

  • PATH=xxx相当于定义一个变量PATH=XXX,而通过exprot命令将其声明成一个环境变量