docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > VS发布Docker镜像

Visual Studio发布 Docker 镜像的实现步骤

作者:新标签页

本文详细指导如何在Visual Studio中为ASP.NET Core WebAPI项目集成Docker支持,包括配置步骤、编写Dockerfile、测试代码、launchSettings.json配置及docker-compose.yml编写,感兴趣的可以了解一下

创建项目

1.搭建一个ASP.NET Core Web API 项目,其他类型项目原理类似。

2.配置新项目,项目名称为DockerDemo

*3. 配置信息勾选启用Docker,并选择Docker OS 环境为 Linux.(根据实际情况选择)

4.完成配置后,会发现生成的项目文件中有一个DockerFile 文件,代表Docker支持已经添加

5.添加测试代码

首先我们添加一个 DemoController 类并添加测试代码

    [ApiController]
    [Route("Demo")]
    public class DemoController : ControllerBase
    {
        [HttpGet]
        [Route("Get")]
        public string Get()
        {
            string model = "{\"code\":\"0\",\"error\":\"" + "0" + "\",\"data\":\"" + _response + "\"}";
            return model;
        }
        private static string _response;
        public static void ResKey(string key)
        {
            _response = key;
        }
    }

之后我们开始编辑appsettings.json 文件 加入测试变量

 "Demo": {
    "Response": "DockerDemo"
  }

最后我们在 Program.cs 代码内加入

DemoController.ResKey( builder.Configuration.GetValue<string>("Demo:Response"));

至此测试需要的代码基本完成。

6.launchSettings.json 配置参数解释

{
  "iisSettings": {
    "windowsAuthentication": false,//是否启用Windows身份验证
    "anonymousAuthentication": true,//是否启用匿名身份验证
    "iisExpress": {
      "applicationUrl": "http://localhost:53445",//应用启动的Url路径。
      "sslPort": 0  //启用SSL的端口
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "Project",
      "launchBrowser": true, //是否在浏览器中启动
      "environmentVariables": { //将环境变量设置为键/值对
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

我们发现在 launchSettings.json 中存在两个 applicationUrl 。 其中IISExpress 对应的启动方式 为 IIS Express 。 profiles 对应的为项目本身。

对应关系如下图:

7. Docker镜像生成

右击项目文件里面的DockerFile文件,选择生成Docker镜像。等待命令执行结束。

当VS镜像生成结束后,可以在Docker -Images 内 看到刚刚最新生成的镜像文件。

使用VSCode 进行镜像文件的配置以及发布

1.打标签

docker tag dockerdemo:latest dockerdemo:1.0.0

在CMD 中执行 docker tag 命令,上述语句意思为将最新的 dockerdemo 镜像 标记为 dockerdemo:1.0.0,在CMD中执行完成后可以在Docker-Images 中看到多出一个 dockerdemo:1.0.0 的镜像。

2.VsCode 安装 Docker插件

在VsCode扩展中搜索Docker插件并安装,安装完成后,VSCode左侧会显示一个Docker图标。

点击Docker扩展图标发现和Docker本身显示的内容差距不大。

3. docker-compose.yml 编写

version: '3.4' //compose版本
services:
  dockerservices:
    image: dockerdemo:1.0.0 //镜像版本
    restart: always //重启
    container_name: dockerdemo
    ports:
      - 8089:80 //端口映射
    volumes:
      - ./appsettings.json:/app/appsettings.jsonimage.png //文件映射

在VsCode中编写yml 文件。

复制appsettings.json文件。

4.发布镜像

在 docker-compose.yml 文件内右击,选择compose up ,等待命令执行完成。

命令执行完成后在Docker 内可以看到 dockerdemo 正在运行。

5.测试发布的服务

在 postman内访问我们之前编写的测试接口,发现能够正常返回。测试通过。

修改Vscode内的 appsetting.json文件。

在 docker-compose.yml 文件内右击,选择compose restart ,等待命令执行完成,重启服务。

再次通过 postman内访问我们之前编写的测试接口,发现能够正常返回,并且参数已经发生改变。测试通过。

到此这篇关于Visual Studio发布 Docker 镜像的实现步骤的文章就介绍到这了,更多相关VS发布Docker镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文