容器

.net core 部署 docker (CentOS7)

▼魔方 西西 提交于 2019-12-19 03:23:35
最近研究 docker 在Linux 下部署 .net core 项目,在过程中踩了很多坑,网上的资料对我帮助确实大,但有些问题未指明出来。 特地整理一份在发布文档 本文使用的是 root 账号操作,如果不是root账号,命令前需要增加 sudo 1、安装dotnet (这一步可以不需要) https://dotnet.microsoft.com/download 以安装运行时 2.1版本为例 https://dotnet.microsoft.com/download/linux-package-manager/centos/runtime-current rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm yum update yum -y install aspnetcore-runtime-2.1 查看 dotnet 版本 dotnet --info 2、安装Docker CE 版 https://www.cnblogs.com/longjieboke/p/10734557.html 3、配置docker加速器 本方使用的是阿里云镜像加速器,参考 https://help.aliyun.com/document_detail/60750.html?spm=a2c4g

Ioc(控制反转)、DI(依赖注入)

拈花ヽ惹草 提交于 2019-12-19 02:27:06
一篇非常好的有关控制反转和依赖注入非常不错的文章,简单易通,与大家共同学习,这里只引用了一篇文章,还有很多相关的文章可以通过文章引用地址来看,相信大家看完理解的就比较深刻了 文章摘自: http://jinnianshilongnian.iteye.com/blog/1413846 1、 IoC是什么 Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”,那我们来深入分析一下: ● 谁控制谁,控制什么: 传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象;而IoC是有专门一个容器来创建这些对象,即由Ioc容器来控制对象的创建;谁控制谁?当然是IoC 容器控制了对象;控制什么?那就是主要控制了外部资源获取(不只是对象包括比如文件等)。 ● 为何是反转,哪些方面反转了: 有反转就有正转,传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也就是正转;而反转则是由容器来帮忙创建及注入依赖对象;为何是反转?因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转

docker:安装mysql多个

拥有回忆 提交于 2019-12-19 01:21:50
Docker 容器镜像删除 docker commit了一个镜像之后想删除旧的镜像,出现以下报错 Error response from daemon: conflict: unable to delete 6f8214d56bfc (cannot be forced) - image has dependent child images 解决思路: docker save保存容器 docker images docker save REPOSITORY > XX.tar 删除镜像容器 docker ps -a docker rm CONTAINER ID docker images docker rmi IMAGE ID 最后再导入回去 docker load < XX.tar 1.停止所有的container,这样才能够删除其中的images: docker stop $(docker ps -a -q) 如果想要删除所有container的话再加一个指令: docker rm $(docker ps -a -q) 2.查看当前有些什么images docker images 3.删除images,通过image的id来指定删除谁 docker rmi <image id> 想要删除untagged images,也就是那些id为<None>的image的话可以用 docker

kubernetes 控制器

萝らか妹 提交于 2019-12-19 01:18:33
1.基础 apiVersion: apps/v1 kind: Deployment metadata: name: myapp-deploy namespace: default spec: replicas: 2 selector: matchLabels: app: myapp release: dev template: metadata: labels: app: myapp release: dev spec: containers: - name: myapp-rongqi image: ikubernetes/myapp:v1 2.滚动升级 vim de.yaml #修改yaml里的镜像版本 apiVersion: apps/v1 kind: Deployment metadata: name: myapp-deploy namespace: default spec: replicas: 5 selector: matchLabels: app: myapp release: dev strategy: rollingUpdate: #设置策略为滚动更新,还有一个重建更新,全部一起结束一起新建 不友好这里就不介绍了 maxSurge: 1 #最大可超出预设值1个容器 maxUnavailable: 0 #最大可有0个容器不可用 ,整体表示更新时可同时可有6个容器

触控切换tab效果的页面实现方法

与世无争的帅哥 提交于 2019-12-18 23:00:26
  题目有些拗口,大概意思就是“能够用手指拖动来改变tab标签的移动端页面的实现方法”,还是有点拗口,好吧,whatever,大家看下去就明白了。   前些天做了个基于html的web应用,里面有个普通的那种切换标签并显示相应内容的tab模块,老大希望能在页面里面实现触控切换的效果,于是,去找。   本来JqueryMobile里面是有现成的方法的(swipe,swipeleft,swiperight),大喜,用之。效果很快出来, 本以为可以喝茶看微博去了,但测试的时候却发现效果在安卓自带的浏览器上面很差(本人MI3W),而chrome上面却很流畅。百思不得其解,而确实有网站是能够流畅的实现这种效果的。思考可能是JQM在实现上的问题 ,于是只能找原始的办法。   度娘问之,得到答案:touch事件。   touch事件实现一个完整的效果和把大象装冰箱是一样的,总共分三步 :1.touchstart ; 2.touchmove ; 3. touchend ;看字面意思就能理解,分别是触摸开始,触摸过程中,和触摸结束。另有参数:touches:位于屏幕上的触摸点(也就是手指)的集合;targetTouches:位于元素上的触摸点的集合;changedTouches:涉及当前事件的触摸点的集合等等,我们要用到的是targetTouches。   于是先把html结构和css定义完成

一分钟看懂Docker的网络模式和跨主机通信

不打扰是莪最后的温柔 提交于 2019-12-18 18:34:31
文章转载自:http://www.a-site.cn/article/169899.html Docker的四种网络模式Bridge模式 当Docker进程启动时,会在主机上创建一个名为docker0... Docker的四种网络模式 Bridge模式 当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中。 从docker0子网中分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关。在主机上创建一对虚拟网卡veth pair设备,Docker将veth pair设备的一端放在新创建的容器中,并命名为eth0(容器的网卡),另一端放在主机中,以vethxxx这样类似的名字命名,并将这个网络设备加入到docker0网桥中。可以通过brctl show命令查看。 bridge模式是docker的默认网络模式,不写--net参数,就是bridge模式。使用docker run -p时,docker实际是在iptables做了DNAT规则,实现端口转发功能。可以使用iptables -t nat -vnL查看。 bridge模式如下图所示: 演示: #docker run -tid --net=bridge -

支持100+业务线、累计发布17万次|宜信容器云的A点与B点(分享实录)

主宰稳场 提交于 2019-12-18 18:24:07
宜信公司从2018年初开始建设容器云,至今,容器云的常用基本功能已经趋于完善,主要包括服务管理、应用商店、Nginx配置、存储管理、CI/CD、权限管理等,支持100+业务线、3500+的容器运行。伴随公司去VMware以及DevOps、微服务不断推进的背景,后续还会有更多的业务迁移到容器云上,容器云在宜信发挥着越来越重要的作用。本次分享主要介绍宜信容器云平台的背景、主要功能、落地实践及未来规划。 一、宜信容器云平台背景 宜信容器云平台的建设背景主要包括: 提高资源利用率。容器云建设之前,每台物理机上平均运行的虚拟机大概是20个,使用了容器云之后,每台物理机上平均运行的容器数达到50个;之前的CPU利用率大概在10%左右,迁移到容器云后,CPU利用率提高到20%以上,整个资源利用率得到了极大的提升。 提升服务可靠性。传统的虚拟机运维方式下,当机器宕机或系统故障时,需要运维手动重启虚拟机和服务,整个过程最快需要几十分钟到几个小时才能解决;使用容器云后,通过健康检查的方式,一旦发现有问题就自动重启恢复服务,可以达到分钟级甚至秒级的恢复。 节约成本。通过容器云提高了资源利用率,同时也节约了成本。公司每年会采购一些商业化软件,如虚拟化软件、商业存储等,费用动辄千万。我们基于开源技术自研一套容器解决方案,每年为公司节省上千万的软件采购和维保费用。 弹性伸缩。我们公司每年都会组织财富峰会

容器镜像服务 联手 IDE 插件,实现一键部署、持续集成与交付

≯℡__Kan透↙ 提交于 2019-12-18 17:46:51
容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式。 甚至可以说,是在容器技术之后,DevOps、CI/CD 等运维关键问题才有了质的飞跃:实现资源的动态创建和销毁,更轻量的容器技术既能保证环境一致性也能进一步提高迭代频率,各种容器平台也能更好地保证应用高可用、自动伸缩、业务连续等等。 今天将跟大家分享支撑双十一的容器镜像服务 ACR,以及它是如何实现搭配 IDE 插件和 CICD/云原生应用交付链来实现一键部署与持续集成,以下是本文提纲: 什么是 容器镜像服务 ACR 如何搭配 免费 IDE 插件 实现一键部署 如何运用 CICD/云原生应用交付链 实现持续集成与交付 想听软萌音在线讲解?阿里云小姐姐直播,手把手教你,12月5日晚上8点—9点, 直播间等你 (还有弹幕截屏送礼品!) 容器镜像服务 ACR 为了更好地支持双十一大规模分发需求,容器镜像服务(Alibaba Cloud Container Registery, ACR)团队提前进行规划及迭代更新,全面提升了大规模分发场景下的性能、可观测性和稳定性。在新的双十一来临前,容器镜像服务已达到了 数 PB 的镜像托管量,月均镜像拉取达 数亿次 ,平滑度过 54.4 万笔交易峰值。 阿里云镜像仓库 ACR

C++STL 学习 之 迭代器(iterators)

戏子无情 提交于 2019-12-18 16:08:58
首先要明确迭代器是一个抽象的设计概念,是一种设计模式. Design Patterns 一书中对 Iterators模式的定义如下:提供一种方法,使之能够依序访问某个容器所包含的各个元素,而无需暴露该容器的内部表达方式,也就是说,Iterators的实现依赖于具体的容器,是针对某种容器特别设计的,只是对外提供一套统一的访问接口. 此外,STL的设计思想就是将数据容器和算法分离,彼此独立设计,最后用一种方式将他们粘合在一起,而Iterators便是这其间的粘合剂.从这个角度看,Iterators设计模式正好可以胜任该目标. 1.STL中 Iterators 的设计思路 迭代器本质是一种智能指针,是一种类似指针的对象,因此,对迭代器的设计主要是实现解引用( )和成员访问(->),所以,主要的编程工作就是对operator he operator->进行重载 2.迭代器的相应型别(associated types) 迭代器的相应型别指的是迭代器所指之物的类型。 思考:假如要声明一个变量,该变量的类型是迭代器所指对象的类型,如何声明?解决办法:利用函数模板中的参数推导机制。 3. Traits(特性萃取)编程技巧 为了解决如何断定迭代器所指之物的类型问题,相应型别无法完美解决,引入Traits技巧 如何实现? (1)首先,在类模板中声明一个内置类型:typedef T value_type

docker容器虚拟化技术

随声附和 提交于 2019-12-18 11:59:13
简单来说,在Windows系统下安装各种运行环境的坑简直不要太多了(● ̄(エ) ̄●),并不仅限于docker、Nginx、PHP、Python等等 ,我会尽详细写出实际过程中遇到的各种各样的奇葩问题 1.docker适用环境 其实docker本身也没有太多在Windows下花功夫。 目前,docker仅支持Linux与Windows企业版、专业版、教育版。ps:家庭版不支持docker ,并且win10下可以安装 docker-for-windows ,这个安装包是 专门适用于win10,安装简单,而对于win7/8则可以使用 Docker Toolbox下载地址 2.Windows下无法对docker容器进行端口访问(端口映射的问题) 1.问题详情 在Windows10系统服务器中安装了docker和docker-compose 并尝试在其中运行Nginx服务,映射也做好 问题:在主机的浏览器中,打开localhost:port无法访问对应的Web服务。 2.问题解析 原因:docker是运行在Linux上的,在Windows中运行docker,实际上还是在Windows下先安装了一个Linux环境,然后在这个系统中运行的docker。也就是说,服务中使用的localhost指的是这个Linux环境的地址,而不是我们的宿主环境Windows10。 3.解决办法