容器

docker常用的一些基础命令

僤鯓⒐⒋嵵緔 提交于 2020-01-19 13:25:20
1、从镜像仓库中拉取或者更新指定镜像 docker pull 镜像名:TAG 2、将本地的镜像上传到镜像仓库,要先登陆到镜像仓库 docker push 镜像名:TAG 3、从镜像仓库搜索镜像 docker search 镜像名关键字 4、对本地镜像的操作 #列出本地所有镜像 docker images #删除一个或多个镜像 docker rmi 镜像名:TAG/镜像ID #标记本地镜像,将其归入某一仓库。 docker tag 镜像名:TAG 仓库地址/项目/镜像名:TAG #读取Dockerfile,构建镜像 docker build Dockerfile文件所在路径 #查看镜像构建历史记录 docker history 镜像名:标签 #将现有的docker镜像保存为tar格式的归档文件,可用于备份或迁移 docker save -o 输出文件名.tar 镜像名:tag #加载使用 docker save 命令导出的镜像tar文件 docker load -i 文件名.tar docker load < 文件名.tar 5、容器生命周期管理 #创建并运行一个容器,有拉取镜像的作用 docker run [参数] 镜像 [命令] #启动/停止/重启容器 docker start/stop/restart 容器名/容器ID #杀死一个正在运行的容器 docker kill 容器名

.NET Core开发的iNeuOS工业互联平台,iNeuKernel物联网核心组件在Docker容器中部署。

耗尽温柔 提交于 2020-01-19 13:20:59
目 录 1. 概述... 2 2. 演示信息... 2 3. 安装Docker容器... 2 4. 安装dotnet镜像... 3 5. 复制iNeuKernel到容器中... 4 6. 进入指定容器... 4 7. 安装dotnet框架... 4 8. 在Docker容器中运行iNeuKernel物联网框架... 5 1. 概述 最近有客户需求:把iNeuOS部署在Docker下。以前实践过部署在Linux的Ubuntu和树莓派中。参见: https://www.cnblogs.com/lsjwq/p/11655093.html , https://www.cnblogs.com/lsjwq/p/11716909.html 这次我们实践了把物联网核心组件iNeuKernel部署在了Docker容器下,实践证明.NETCore支持云原生方面表现的很好。 今天就放假了,放了15天。最后一天,发一篇文章。 2. 演示信息 iNeuOS在线演示: http://demo.ineuos.net (注:服务器比较慢,请耐心等待。自已注册用户,体验系统功能) 视频演示: http://www.ineuos.net/video/iNeuOS%20and%20app.mp4 驱动开发: http://www.ineuos.net/index.php/products/ineukernel-15

Kubernetes 常用命令

时间秒杀一切 提交于 2020-01-19 07:14:45
1、查看集群信息 查看集群信息: kubectl cluster-info 查看更详细的可以用:kubectl cluster-info dump 查看各组件信息: kubectl get componentstatuses 查看kubelet进程启动参数: ps -ef | grep kubelet 2、GET信息: 查看节点:kubectl get nodes 查看rc和namespace:kubectl get rc,namespace 获取所有命名空间上的pod: kubectl get pod -o wide --all-namespaces 查看pod IP( services )时使用 : kubectl get services 或kubectl get svc 查看所有namespace下面的pod: kubectl get pod --all-namcpaces 查看指定pod存在哪个对应的节点(node)上:kubectl get pod mysql -o wide 查看pod描述 describe 特别是查看 pod 无法创建的时候的日志: kubectl describe pod XXX -n kube-system 以jison格式输出pod的详细信息:kubectl get po mysql -o json 还可以输出其它格式和方法( kubectl

Java 之 GUI

空扰寡人 提交于 2020-01-19 05:50:43
1.SWT:   a.组成:①java.awt包:工具类——颜色、字体类等       ②javax.swing包:容器类 与 组件 (java.awt包中容器类与组件的升级版,以J打头)   b.总结:SWT = Swing + AWT 2.容器:   a.首层容器:JWindow、JFrame、JDialoge、JApplet   b.中间容器:Jpanel   c.组件:     ①标签——JLabel (注:JLabel也能做容器)     ②文本框——JTextField      密码框——JPasswordField     ③按钮——JButton     ④下拉列表——JComboBox<String>     ⑤单选框——JRadioButton     ⑥复选框——JRadioButton     ⑦文本域——JTextArea 3.布局:   a.分类:①边界布局管理器(麻将布局)——BorderLayout       ②流布局管理器——FlowLayout       ③网格布局管理器——GridLayout       ④卡片布局管理器——CardLayout   b.边界布局:     ①特点:把整个容器划分为5个部分;东西南北中,南北要贯通,中间最大(不仅是中间的范围最大,权利也最大)         当周边不存在的时候中间会占领周边

k8s的资源限制及资源请求

时间秒杀一切 提交于 2020-01-19 04:45:06
容器的资源需求及限制: 需求:requests ##定义容器运行时至少需要资源 限制:limits ##定义容器运行时最多能分配的资源 requests:pod.spec.containers.resources.requests limits:pod.spec.containers.resources.limits QoS Class:(Quality of service class)服务质量等级 Guranteed:优先级最高。pod中每个容器同时定义了cpu和memory的request和limit,并且两者的request=limit; Burstable:优先级中等。pod中至少有一个容器定义了cpu或memory的request属性,且二者不一定要相等; BestEffort:优先级最低。pod中没有任何一个容器定义了request或limit属性; 资源单位: CPU:CPU的测量单位是cpus,允许分数值。你可以使用前缀m来表示mili(千分之一)。 例如100mcpu就是100 milicpu,等价于0.1CPU。 内存:内存的测量单位是字节。 你可以使用纯整数来表示内存,也可以使用一些前缀:E, P, T, G, M, K, Ei, Pi, Ti, Gi, Mi, Ki. 例: 1 apiVersion: v1 2 kind: Pod 3 metadata:

面试之spring

試著忘記壹切 提交于 2020-01-19 04:42:19
1.什么是spring框架? Spring框架 是帮助开发者解决开发中基础性的问题,让开发专注于应用程序的开发。 Spring框架本身是按照设计模式精心打造的 ,我们可以在开发环境中放心的集成spring框架,不必担心spring如果在 后台运行工作的。 spring框架至今 大概集成了 20 多个模块。主要分为核心容器、数据访问 / 集成、web、aop、工具、消息和测试模块等。 2.使用框架带来的好处? 简单列举一些主要好处 : 1 )Dependency Injection ( DI ) 方法使得构造器和javabean properties文件中的依赖关系一目了然。 2 )于ejb容器比较,ioc容器更加轻量,这样ioc容器在有限的内存和cpu资源的情况下,开发和发布就十分有利。 3 )spring没有闭门造车,利用了已有的技术;如orm框架、logging框架、j2ee、quartz、和jdk timer等。 4 )要测试一项用spring开发的程序很简单,因为测试环境代码都已经集成在框架中了 ,更简单的是,利用javabean 形式的pojo类,可以很方便的利用依赖注入写入测试数据。 5 )spring的web框架是一个精心设计的web mvc框架,为开发者们在web框架的选择上提供了一个更好的选择。 6 )spring提供了便捷的事务管理接口,适用于小型的本地事务处理

docker和k8s网络模型复盘

元气小坏坏 提交于 2020-01-19 04:36:46
Docker K8S网络模型复盘 网络模式简介 常见网络模型 docker网络模式 默认模式Bridge详解 Kubernetes网络通信原理 Flannel NetWork原理: 网络模式简介 Docker和k8s跟着老师学了一遍,容器化技术及其编排如此强大,最近让我想不通的是docker及k8s的网络通信是如何实现的,无论是虚拟机还是物理机都有自己的ip,网卡,虚拟网卡等等,然而容器也有自己的ip地址,到了大规模容器编排的阶段,如此大量的容器网络访问管理,虽然了解到他们都有自己的网卡,k8s也有flannel来解决容器通信,但是仍感觉不够透彻,在此通过网上了解和学习理解进行一些梳理,不见得能够彻底理解,仅作复习。 常见网络模型 首先看一下虚拟机常用的网络模式: bridged(桥接模式) ,在桥接模式下,你需要手工为虚拟 系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机 系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。 NAT(网络地址转换模式) ,在NAT网络中,会使用到VMnet8虚拟交换机,Host上的VMware Network Adapter VMnet8虚拟网卡被连接到VMnet8交换机上,来与Guest进行通信

我的大脑被挖矿代码搞的不能好好思考了

こ雲淡風輕ζ 提交于 2020-01-19 03:50:25
我被攻击了 个人服务器去年底最后两天被攻击了,因为一些事情拖着没来得及处理,今天实在忍不住了,记录一下被攻击后发现以及修复的过程。 2019-12-30 23:39:44 云盾预警访问恶意IP 178.170.189.5 这一次预警中有一个关键字“kdevtmpfsi” 2019-12-31 04:19:19 云盾预警矿池通信行为 178.170.189.5 kdevtmpfsi 如何找到根源 kdevtmpfsi 伪装的挺好,因为它和一个系统进程的名字非常相似 kdevtmpfs ,一不小心研究的重心就偏移了。我现在的程序是以 docker 运行的,宿主机如果被攻击了问题就严重了。 因为本身不是专业运维,排雷全靠猜测。云盾感知的 cms 可能存在安全漏洞,代码扫描后没有发现异常,到这里我感觉问题可能就更严重了。 容器存在漏洞?容器也就运行了 nmp ,会是哪一个容器出现问题了呢?有些手足无措。cpu 占用高,docker 查看一下容器的 cpu 占用呢? top 使用 top 命名直接可以查看到下图, kdevtmpfsi 差不多100%的CPU占用,导致服务器完全被恶意程序占用,我本身的服务难以正常运行。 container cpu 被 kdevtmpfsi 挖矿程序占用 100%。按照上面的定位到容器的问题,使用命令查看容器状态 docker stats 获得下图。 看到是

在阿里云服务器安装docker容器

痞子三分冷 提交于 2020-01-18 19:36:51
为什么要使用Docker呢? 个人总结了以下几点: 1.部署简单且灵活,有独立的运行环境,避免了不必要的冲突。 2.节省了资源开销,需要的就拿进来 不需要的就不拿 3.类似于Java, 打包一次各处部署运行。项目迁移灵活便捷。 ​ 相对于VM虚拟机启动更加快 基本是秒级 硬盘使用量也小 基本都是MB起 虚拟机起步都是GB 说了这么多 接下来开始安装 首先说下我服务器的基本配置 CentOS7 内核大于3.10 查看系统版本可以使用 cat /etc/redhat-release 查看内核版本可以使用 uname -r 以下是我的基本配置 如果安装过以前的旧版本docker的话 采用以下命令卸载掉 $ yum remove docker \ docker-common \ docker-selinux \ docker-engine 如果重来没有装过docker那么接下来就进行安装 1.安装相关依赖包 $ yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 2.设置yum源 $ yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo 3.安装docker 3.1安装最新版本 $ yum

docker代码发布

♀尐吖头ヾ 提交于 2020-01-18 08:14:52
Docker简介: Docker 相比于 虚拟机具有空间占用小,启动速度快(按秒级), 集成度高 ,可以有效避免版本不兼容问题。 什么是镜像 :镜像是一堆只读层的统一,除了最底层没有指向外,每一层都指向它的父层。统一文件系统( Union File System)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角,这样就隐藏了多层的存在。在用户的角度看来,只存在一个文件系统。镜像每一层都是不可写的,都是只读层。 什么是容器 :容器(container)的定义和镜像(image)几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。要点:容器 = 镜像 + 读写层,并且容器的定义并没有提及是否要运行容器。 建议实践之后回来理解 docker容器与镜像的区别 常用操作 docker images :查看所有镜像 docker rmi image-id:删除镜像 docker ps -a:查看所有容器 docker rm container-id:删除容器 docker attach container-id:进入容器 (现在基本使用exec,退出不关闭容器) docker logs container-id 查看容器内部输出 docker tag imageid:tag name:tag 修改镜像名 docker commit