Tag: 虚拟化

Docker和Kubernetes的主要区别是什么?

我们可以使用托pipeJava和PHP运行时(2应用程序)在同一台服务器上使用Docker或Kubernates。

Docker容器没有捕获CPU统计信息

我是新手到docker,我已经开始我的docker容器,我无法看到cpu /内存统计正在写入cgroup系统切片文件中的文件。 请看下面的快照 [root @ docker docker-5ae16d70ee83102b0a8a65adc4468a9251e22ed8b8916e786564869da2b09524.scope]#ls -rlt共0 -r – R的 – R–。 1 root root 0 8月6日03:19 cpu.stat 我在这里错过了什么? 我需要改变任何东西来获得容器的性能统计信息

在镜像,但独立的生产环境中发生故障

我在“开发环境应尽可能接近生产环境”方面遇到一些问题。 (生产机器的操作系统是Linux。) 我对开发步骤的理解(粗略): 代码,编译,testing/运行,重复 “通常情况下,”我会在自己的机器上浏览这些代码,然后将代码推送到CI进行testing,并可能进行部署。 CI将负责在与生产相匹配的环境中运行testing,这样,如果testing通过,则认为代码在生产中也可以正常工作。 环境较大的问题 ☑某种数据库。 ☑作业处理池 – 用于一些长时间运行的后台任务。 ☑用户帐户pipe理 – 也被其他系统使用。 ☑集中logging – 理智。 ☑转发代理 – 在同一url但不同path下绑定各个http可访问的服务。 ☐可能的其他服务或服务集合。 解决scheme? 所有在我自己的机器上? 在地狱里没有办法。 所有在虚拟机上? 也许,但是安全方面,如果这个设置应该反映prod.env。和prod.env。 就是这样,好吧..如果违反,这可能不是一个好主意。 除以责任,并在多个虚拟机上设置它们? 谁来pipe理所有这些机器? 我认为可以做得比这更好。 使用像Docker这样的容器,或者自己一起打巴掌? 听起来不错:(可能:)非常快的迭代周期,关注点分离,一些分离的安全性,以及容易的重现性。 为了简单起见,假设我们select的集装箱化工具是Docker,而且我们不打算使用libvirt / lxc工具/直接内核调用来构build自己的工具。 所以Docker可能是CoreOS或者Project Atomic。 所以现在有一个应用程序(或多个应用程序)的容器已经与系统的其他部分分离,并且可以在任何地方几乎相同。 解决scheme1:生产环境漂亮,优雅。 问题1:这不是开发环境。 开发环境 不pipe怎样select不把生产环境洒到我自己的机器上,问题依旧: 即使生产环境设置正确,我也必须在某处进行编译和testing,然后才能部署(通过CI或其他方式进行另一轮testing)。 我如何解决这个问题? 实际上,解决这个问题的正确方法是通过在自己的机器上编写代码,使其在虚拟镜像生产环境中同步/直接可见,从而自动运行testing? 当我不想运行所有的testing时,会发生什么情况,但是现在只有我正在编写的部分呢? 每次都要编辑自动编译过程吗? 怎么样远程debugging,因为多个系统必须编排以正确的方式运行,debugging必须附加到其中一个程序之间。 更不要说“ 代码,testing ”周期的速度,这将是非常缓慢的。 这听起来像CI这样的helluvalot,但是多个开发人员不能全部使用相同的CI并修改它,所以他们可能必须在自己的机器上进行此设置。 我也在想,开发者可以使用一个完全虚拟化的操作系统,它包含了所有的开发工具,并且在生产环境中是镜像的,但是这会迫使老用户采用虚拟开发环境的工具,听起来这个好主意。

无法使用Windows在Docker中安装数据卷

我在Windows上运行Docker。 我已经用命令成功地build立了一个镜像: docker build -t my/tag /c/Users/user/Docker/docker-php/image/ docker images结果: REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE my/tag latest 763a2f01c832 28 minutes ago 445.8 MB php 5.6-cli 32d2bd1d7a19 6 days ago 444.5 MB 不幸的是我有一个问题,当我试图将数据卷挂载到映像。 我运行: docker run –rm -it -v /“pwd“:/src -w /src my/tag bash ( pwd上有一个单引号,但我不知道如何逃脱它) 但在docker中文件不可见: root@3e91981ef517:/src# ls -al total 4 drwxr-xr-x 2 root […]

为什么没有人在docker工作? (一体化容器/“黑匣子”)

我需要很多不同的Web应用程序和微服务。 此外,我需要做简单的备份/恢复,并在服务器/云提供商之间移动。 我开始为此研究Docker。 当我看到这样的build议时,我感到尴尬:“为您的应用程序创build第一个容器,为您的数据库创build第二个容器,并将它们连接在一起”。 但是,为什么我需要做独立的数据库容器? 如果我理解正确,主要的信息是docker:“允许在孤立的环境中运行和移动具有所有这些依赖的应用程序”。 也就是说,据我所知,放置在容器应用程序及其所有的依赖关系(特别是如果它是一个小的应用程序没有要求有外部数据库)是适当的。 我如何看待在我的情况下使用Docker的最佳方式: 采取基本图像(例如phusion / baseimage) 基于这个(使用nginx,数据库和应用程序代码)构build我自己的图像。 公开与我的应用程序交互的端口。 在目标服务器上创build基于此映像的数据卷(用于存储应用程序数据,数据库,上载等)或从预备备份恢复数据卷。 运行这个容器,玩得开心。 优点: 易于备份/恢复/移动应用程序。 (仅移动数据卷,只需在新的服务器/环境中启动它)。 应用程序是“黑匣子”,没有头痛的外部依赖。 如果我需要将数据存储在外部数据库或使用数据forms – 没有任何东西阻止我这样做(但通常是不必要的)。 我更喜欢使用其他黑匣子的API来直接访问他们的数据库。 与所有容器的单个数据库的情况相比,隔离性和安全性更高。 缺点: 更大的RAM和磁盘空间消耗。 有点难以扩展。 (如果我需要每秒数千个请求的应用程序的几个实例 – 我可以将数据库移动到单独的容器中,并链接多个应用程序实例,但在极less数情况下需要) 为什么我找不到使用这种方法的build议? 它出什么问题了? 有什么我没有看到的陷阱?

容器产卵的互动教程

我想写一个unix coreutils的交互式Web教程。 我很好奇如何评估学生在后台提交的解决scheme。 将某些虚拟化/容器化技术命名为可以消除安全漏洞(用户获得对后端服务器服务器的访问权限)的可能性以及较低的硬件资源开销? Docker在每个人的舌头上,但可以用于这个目的吗?

Docker在启动和停止时间上的差异

我已经看到在启动和停止Docker容器所花费的时间上存在显着差异,特别是停止运行的容器比启动刚刚停止的容器花了差不多5倍的时间。 这是为什么?

在Docker容器中创build可导入的Python模块

我将如何导入在Docker容器中运行的Python模块? 这是甚至可以从容器外面? 使用案例:我想在实际平台上独立使用一个难以安装 – 至less在Windows – Python模块。

stream浪者:使用stream浪者将docker运行parameter passing给多个容器

为了研究的目的,我使用vagrant部署了一个多VM环境,到目前为止是非常棒的。 但是现在我需要将每个docker容器固定到特定的CPU核心,但是我不知道如何使用stream浪汉来做到这一点。 我知道我可以使用Vagrantfile的“args”子句将“–cpuset”parameter passing给docker run命令,但是我不知道如何在循环中使用它,因为我启动了多个容器,我需要将每个容器固定到不同的CPU内核(例如,node1引脚到核心#0,节点2引脚到核心#1等)。 我目前的Vagrantfile如下,没有CPU钉住的事情: # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! VAGRANTFILE_API_VERSION = "2" # choose how many machines the cluster will contain N_VMS = 32 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "tknerr/baseimage-ubuntu-14.04" config.vm.network "private_network", ip: "192.168.121.2" config.vm.provider "docker" do |v| v.has_ssh = true end hosts_file = [] 1.upto(N_VMS) […]

docker运行ubuntu命令失败,错误:拉图像时出错:

docker运行ubuntu命令失败,错误: 拔取图片时出错: https ://index.docker.io/v1/repositories/library/ubuntu/images:在[:: 1]上拨打tcp:lookup index.docker.io:53:读取udp [:: 1 ]:48892 – > [:: 1]:53:read:连接被拒绝。 Ubuntu版本:16.04 内核版本: – 4.4.0-59-通用 Docker信息: 容器:0 运行:0 暂停:0 停止:0 图片:0 服务器版本:1.12.1 存储驱动程序:aufs 根目录:/ var / lib / docker / aufs 备份文件系统:extfs Dirs:0 Dirperm1支持:是 logging驱动程序:json文件 Cgroup驱动程序:cgroupfs 插件: 卷:本地 networking:空主机桥覆盖 群:不活跃 运行时:runc 默认运行时:runc 安全选项:apparmor 内核版本:4.4.0-59-通用 操作系统:Ubuntu 16.04.1 LTS OSType:linux 架构:x86_64 CPU:12 总内存:15.62 GiB 名字:cran […]