Docker容器化部署.net core API

news/2024/5/19 22:25:57 标签: docker, .netcore, 容器

1.为API集成Docker环境。(VS自带,傻瓜式操作)

1.1 点击项目,右键,添加,选择Docker支持
在这里插入图片描述
1.2 找到项目根目录中的Dockerfile文件,这是VS刚刚帮我们自动生成的。进入和做如图标红地方修改。
把文件名用.代替(因为当前文件在根目录了)。
在这里插入图片描述

2.安装Docker,执行相应的命令。

2.1 进入docker官网,下载安装包。解压后下一步,记得开启虚拟化服务。具体百度一大把。
2.2 安装好后 记得配置国内下载镜像的地址,不然下载会很慢。 打开设置:
在这里插入图片描述

  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com",
    "https://registry.docker-cn.com"
  ]

3.执行命令,进行容器化部署。

3.1 进入到项目根目录文件夹,然后cmd 回车 如图:
在这里插入图片描述
3.2 执行容器初始化命令 docker build -t fakexiechengapi . 其中fakexiechengapi容器名称。自己随便起。然后回车,它会自动对相应的镜像拉取。直到看到Finished 如图:
在这里插入图片描述

3.3 执行docker run -d --name fakexiechengapi -p 8080:80 fakexiechengapi 运行刚刚创建好的容器fakexiechengapi是刚刚的容器名称。

3.3.1 拉取sql server 镜像
命令:docker pull mcr.microsoft.com/mssql/server:2017-latest
运行镜像:docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=1qazXSW@" -p 1433:1433 --name sqlserver2017 -d mcr.microsoft.com/mssql/server:2017-latest
参数解释:

-e "ACCEPT_EULA=Y":默认选择同意协议许可证

-e "SA_PASSWORD=qwe20211114.":设置连接密码为qwe20211114.

-p 1433:1433: 宿主机端口映射到容器端口(前者为宿主机)

--name sqlserver2017:容器别名

-d: 后台运行

mcr.microsoft.com/mssql/server:2017-latest:镜像名称:标签

进入容器docker exec -it sqlserver2017 /bin/bash
连接数据库: /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "1qazXSW@"
参考
此时可以直接通过sql管理工具去连接数据库镜像了。连接地址就是本地ip,账号默认sa,密码就是刚刚上面设置的密码。如图:
在这里插入图片描述
查看docker安装了哪些镜像:docker images
在这里插入图片描述

注意数据库必坑点:

docker拉去数据库镜像后,会自动给该容器分配一个虚拟IP。我们通过以下命令去查看:docker inspect bridge
找打名称为sqlserve的容器。我们可以看到虚拟IP为172.17.0.2
在这里插入图片描述
注意,我们程序中的连接字符串的IP 必须要用这个虚拟IP。
如下,为我的连接字符串:

 "ConnectionString": "Data Source=172.17.0.2;Initial Catalog=FakexiechengDb;User Id=sa;Password=密码"

3.4 此时容器就在运行了。我们可以在docker客户端进行查看。也可以通过命令查看 docker ps
在这里插入图片描述
在这里插入图片描述
到此我们的容器化部署完成。

Docker其他命令大全:
docker build -t fakexiechengapi . 容器初始化
docker run -d --name fakexiechengapi -p 8080:80 fakexiechengapi 运行容器
docker ps 查看运行的容器
docker logs fakexiechengapi 查看容器日志
docker inspect bridge 查看虚拟IP
docker images 查看安装了哪些镜像
docker rm 149f8cbe93a5 删除容器,其中id号可以通过docker ps命令查看
docker stop 149f8cbe93a5 暂停容器

其他要用的百度吧。


http://www.niftyadmin.cn/n/117443.html

相关文章

剑指 Offer II 012. 左右两边子数组的和相等

题目链接 剑指 Offer II 012. 左右两边子数组的和相等 easy 题目描述 给你一个整数数组 nums,请计算数组的 中心下标 。 数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。 如果中心下标位于数组最左端,那…

《SQL基础》15. 触发器

触发器触发器语法示例-insert型触发器示例-update型触发器示例-delete型触发器触发器 触发器是与表有关的数据库对象,指在 insert/update/delete 之前(BEFORE)或之后(AFTER),触发并执行触发器中定义的SQL语…

IO 复习

IO 把电脑硬盘中的数据读到程序中,称为输入,进行数据的read操作 把程序往外部设备写数据,称为输出,进行数据的write操作 File类 一个File对象可以表示计算机硬盘上的一个文件或目录(文件夹) 可以获取文件信息,创建文件,删除文件 但是不能对文件中的数据进行读写操作 一些…

nodejs安装和卸载超详细步骤

安装程序①下载完成后,双击安装包,开始安装,使用默认配置安装一直点next即可,安装路径默认在C:\Program Files下,也可以自定义修改②安装路径默认在C:\Program Files下面,也能够自定义修改,而后…

【强烈建议收藏:MySQL面试必问系列之慢SQL优化专题】

一.知识回顾 学习本篇文章之前呢,我们可以先看一下【强烈建议收藏:MySQL面试必问系列之SQL语句执行专题】,看完这篇文章再来学习本篇文章可谓是如虎添翼。好的,那我们也不讲太多的废话,直接开始。 二.如何做慢SQL查询优化呢&…

如何使用ChatGPT快速构建一个网站模板?

欢迎来到令人兴奋的自然语言处理和机器学习世界!今天,我们将探索 ChatGPT 的功能,它是由 OpenAI 公司开发的目前最先进的人工智能工具。当然,你也可以将其看作是一个智能机器人。ChatGPT 最令人印象深刻的功能之一是它能够根据简单…

【架构师】跟我一起学架构——微服务分层监控

博客昵称:架构师Cool 最喜欢的座右铭:一以贯之的努力,不得懈怠的人生。 作者简介:一名Coder,软件设计师/鸿蒙高级工程师认证,在备战高级架构师/系统分析师,欢迎关注小弟! 博主小留言…

图论初入门

目录 一、前言 二、图的概念 三、例题及相关概念 1、全球变暖(2018年省赛,lanqiao0J题号178) 2、欧拉路径 3、小例题 4、例题(洛谷P7771) 一、前言 本文主要讲了树与图的基本概念,图的存储、DFS遍历…