一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Backend

Docker run 命令

docker run :创建一个新的容器并运行一个命令 语法

  OPTIONS说明: -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项; -d: 后台运行容器,并返回容器ID; -i: 以交互模式运行容器,通常与 -t 同时使用; -P: 随机端口映射,容器内部端口随机映射到主机的端口 -p: 指定端口映射,格式为:主机(宿主)端口:容器端口 -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; --name="nginx-lb": 为容器指定一个名称; --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致; --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致; -h "mars": 指定容器的hostname; -e username="ritchie": 设置环境变量; --env-file=[]: 从指定文件读入环境变量; --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行; -m :设置容器使用内存最大值; --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container:<name|id> 四种类型; --link=[]: 添加链接到另一个容器; --expose=[]: 开放一个端口或一组端口; --volume , -v: 绑定一个卷 实例 使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。

  使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。

  使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。

  绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。

  使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。

  from:https://www.runoob.com/docker/docker-run-command.html

龙生   02 Nov 2020
View Details

如何在已停止/未启动的Docker容器中编辑文件

有两种可能性。 1) 直接在主机上编辑文件系统 。这有些危险,并且有可能完全破坏容器,并可能根据发生的问题而破坏其他数据。 2) 将启动脚本更改为 永不失败的内容,例如启动bash,进行修复/编辑,然后将启动程序再次更改为所需的程序(例如节点或之前的版本)。 更多细节: 1)使用

查找正在运行的容器或

查找所有容器(包括停止的容器)并

查找“ Id”,第一个值之一。 这是包含实现细节的部分,可能会更改,请注意,这样可能会丢失容器。 去

在那里您将找到所有更改为容器所基于的图像的文件。您可以覆盖文件,添加或编辑文件。 同样,我不建议这样做。 2)您可以在以下路径找到配置jsonconfig.json

在那里,您可以将参数从“ nodejs app.js”更改为“ / bin / bash”。现在重新启动docker服务并启动容器(您应该看到它现在已正确启动)。你应该用

确保它不会立即退出。您现在可以使用容器和/或以后再附加

另外,docker cp对于复制在容器外部编辑的文件非常有用。 同样,如果容器无论如何或多或少地“丢失”,则应该只使用那些措施,因此任何更改都是一种改进。   参考:http://codingdict.com/questions/53248

龙生   02 Nov 2020
View Details

redis 连接字符串,设置密码

<add name="Abp.Redis.Cache" connectionString="127.0.0.1:6379,password=123456"/> 参考:https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/Configuration.md   from:https://www.cnblogs.com/lishidefengchen/p/10656327.html

龙生   02 Nov 2020
View Details

【Docker】解决创建Redis容器没有conf配置文件

序言 这篇文章没有什么知识点,只是为了新伙伴少踩点坑 1. 问题重现 创建容器 2. 解读参数 -d: 后台运行容器,并返回容器ID; -i: 以交互模式运行容器,通常与 -t 同时使用; -p: 端口映射,格式为:主机(宿主)端口:容器端口 -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; --ip: 为容器制定一个固定的ip --net: 指定网络模式 3. 进入容器查看redis.conf文件 发现是并没有redis.conf文件的,那么这个时候就是新手踩坑阶段了,因为没有系统的学习docker所以会花费很多时间   2. 解决问题 没有配置文件这件事呢!那是因为redis容器里边的配置文件是需要在创建容器时映射进来的 那么就需要删除我们之前创建好的容器,在删除前需要先停止容器后才可以删除 停止容器:docker container stop redis-test 删除容器:docker container rm redis-test 1. 开始重新创建redis容器 docker run -itd  --name  redis-slave  -v /usr/local/redis/redis.conf:/etc/redis.conf -v /root/usr/local/redis/data:/data  --net mynetwork  -p 6381:6379  --ip 172.10.0.3  redis 参数解释: -v /usr/local/redis/redis.conf:/etc/redis.conf:映射配置文件 -v /root/usr/local/redis/data:/data:映射数据目录 那么这个时候就有redis配置文件了   搭建同意的挂载外部配置 上边是在我宿主机有redis的情况下的,那么下来说宿主机没有redis的情况 这里说的映射其实就是挂载外部配置和数据安装 1. 创建docker统一的外部配置文件 mkdir -p docker/redis/{conf,data} 2. 在conf目录创建redis.conf的配置文件 touch /docker/redis/conf/redis.conf 3. redis.conf文件的内容需要自行去下载,网上很多 4. 创建启动容器,加载配置文件并持久化数据 docker run -d --privileged=true -p 6379:6379 -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data --name redis-test redis redis-server […]

龙生   02 Nov 2020
View Details

docker安装Redis并设置密码

1.搜索镜像

2.拉取镜像

3.创建Redis容器并设置密码

4.备注 为现有的redis创建密码或修改密码的方法: 1.进入redis的容器 docker exec -it 容器ID bash 2.进入redis目录 /usr/local/bin 3.运行命令:redis-cli 4.查看现有的redis密码:config get requirepass 5.设置redis密码config set requirepass ****(****为你要设置的密码) 6.若出现(error) NOAUTH Authentication required.错误,则使用 auth 密码 来认证密码   from:https://www.cnblogs.com/zhangzimo/p/12753563.html

龙生   02 Nov 2020
View Details

webapi 统一处理时间格式

  from:https://www.cnblogs.com/liuqiyun/p/10729338.html

龙生   31 Oct 2020
View Details

.net core web api部署到docker

一、创建.net core web api 的Demo 修改部分代码 端口随意指定,ip用星号“*”,方便接下来docker虚拟网络自动分配ip 下一步是Dockerfile文件,如果发现你的项目中没有此文件,很简单,右键项目=》添加=》Docker支持即可,然后修改文件如下图     然后发布项目并上传文件到服务器 二、将api项目部署到docker中 首先,进入到你上传的文件目录 根据目录下的Dockerfile创建镜像:docker build -t dockerapitestimage .     (注意,注意,注意后面有一个点“.”,看清楚了,这个点表示当前目录上下文) 如果你在这一步失败了,请先尝试在docker下拉取dotnet镜像,执行命令 docker pull dotnet:latest ,拉取完之后再创建api镜像 这里要下载好几百兆的镜像包,网速太慢的话,建议尝试阿里云镜像加速,具体见我另外一篇文章 docker使用阿里云镜像加速 镜像创建成功后,我们就可以来创建容器并使用啦,继续往下 可以看到服务已经成功启动了,接下来准备访问一下试试 在linux中,首先我们输入$ docker ps 看下详情,如下图 发现我们的dockerapitest容器的ip地址是 0.0.0.0:8001,接着在linux中访问看看,成功了   linux下都没问题了,然后我们回windows下看看,如下图,显然成功了。   from:https://www.cnblogs.com/luoocean/p/11100684.html

龙生   31 Oct 2020
View Details

.Net Core WebApi 模型验证无效时报400

问题 模型验证无效时,没有进入到接口里,而是直接报400 Bad Request,非常不友好。 环境 SDK:.Net Core 2.2.401 开发工具:VS2017 step 1 创建接口

Step 2 创建模型 引用命名空间

Step 3 测试      解决

  from:https://www.cnblogs.com/EminemJK/p/11498852.html

龙生   31 Oct 2020
View Details

第6章 数据注解 System.ComponentModel.DataAnnotations 、注解后台原理、自定义验证ValidationAttribute、IValidatableObject

客户端验证对用户向表单中输入的数据给出一个即时反馈。 服务器验证,主要是因为来自网络的信息都是不能信任的。 一、 为验证注解订单 1 、验证注解的使用,自定义错误提示消息 数据注解特性定义在 System.ComponentModel.DataAnnotations 中(但有一个特性不在这个命名空间),它提供了服务器端验证,当模型属性上使用这些特性时,框架也支持客户端验证。在命名空间DataAnnotations中,有4个特性可以用来应对一般验证场合。 (1)、字符非空,最大长度,值范围,两个属性相同,正则表达式         //字段非空,最大长度160         [Required(ErrorMessage="FirstName不能为空")]         [StringLength(160, ErrorMessage = "FirstName太长了")]         public string FirstName { get; set; }         //正则表达式验证必须是电子邮件         [RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}",             ErrorMessage="邮件地址不正确")]         public string Email { get; set; } //字段非空,数值类型最小值,最大值 [Required] [Range(typeof(decimal), "0.00", "49.99")] public decimal Total { get; set; } //对象两个属性拥有相同的值 [Compare("Email")] public string EmailConfirm { get; set; } […]

龙生   31 Oct 2020
View Details

webapi 获取json数据

一般的我们可以直接使用参数来接受,这个就不多介绍了

    现在一般使用json来传递参数,如果使用强类型,需要我们把类的属性和参数名设置一样就可以了。get,post都可以,这里只演示了post请求   ①使用参数名来接受,这样显示不管你是传递json字符串还是json对象都是接收不到的

  ②稍微改动下,把参数类型换成objct,这样我们不管是传递json对象和字符串都是能够接受到的

json对象;   json字符串:     正解:普通的两种使用方式

 

      ③mvc中也可以写接口,我们肯定使用过流接受过参数,那webapi中同样是可以的 mvc中可以直接写:

webapi中没有 HttpContext这个,我们可以引用进行使用

webapi中我们使用request强制同步获取数据,显示获取不到

  推荐:使用异步的方式  

    显示结果:      

    总结: 1:一般的我们使用Object类型或者强类型来接接收 2:提高效率,我们是异步 题外:我们一般都会准备一个Dto来接受我们的json对象,如果你不想这样写,也可以使用JObject来用。   from:https://www.cnblogs.com/Sea1ee/p/10438838.html

龙生   31 Oct 2020
View Details
1 75 76 77 279