是否可以备份正在运行的Docker容器?export命令是否适合这样做?
问题:任何构建,具有依赖于centos,ubuntu或debian的Dockerfile都无法构建.
环境:我有一台Mac OS X,运行VMWare,客户端为Ubuntu 14.04,运行Docker:
mdesales@ubuntu ~ $ sudo docker version
Client version: 1.1.2
Client API version: 1.13
Go version (client): go1.2.1
Git commit (client): d84a070
Server version: 1.1.2
Server API version: 1.13
Go version (server): go1.2.1
Git commit (server): d84a070
Run Code Online (Sandbox Code Playgroud)
行为:使用"docker build"无法下载包.这里有这样Dockerfile的例子:https://github.com/Krijger/docker-cookbooks/blob/master/jdk8-oracle/Dockerfile,https://github.com/ottenhoff/centos-java/blob/master/Dockerfile
我知道我们可以使用--dns运行容器,但这是在构建期间.
CENTOS
从centos RUN yum安装abc
UBUNTU
从ubuntu RUN apt-get install abc
用户已经报告可能是DNS配置问题,其他人和配置已将Google的DNS服务器注释掉.
Step 2 : RUN yum install -y curl; yum upgrade -y; yum update -y; yum clean all
---> Running in 5f11b65c87b8
Loaded …Run Code Online (Sandbox Code Playgroud) ZeroMQ常见问题解答页面建议使用Google的protobuf作为序列化邮件内容的方法.
有没有人看到一个很好的用法示例?
我还需要得到"序列化消息的最大优势是什么?"的答案. - 它是否可能是我可以生活的东西,并利用更细长的管道.
我非常喜欢.proto文件和protoc编译器的想法.
此外,似乎另一个伟大的工具扔在操场上libev,欢迎任何评论:)
我处理具有不同进程的应用程序,并且我被要求包含这些进程以实现更多隔离.
问题是进程与单个"管理程序"进程共享内存以交换数据(它们使用经典的共享缓冲区).此解决方案是为了性能要求而实现的,因为它在用户空间中运行,因此用户空间和内核空间之间没有内容切换.
如果我没有错,则无法在单个IPC命名空间内运行多个docker容器,但我不知道单个docker容器是否可能属于不同的IPC命名空间,这可以解决我的问题.
其他解决方案是受欢迎的,请记住,性能是一项要求,提前谢谢.
在我的项目中,我有一些git子模块,但是这些不是实际的构建依赖项,并且需要花费一些额外的时间才能进入,可能会使构建时间增加一倍或三倍.
有没有办法告诉特拉维斯跳过这个无用的步骤?
根据这个github问题,应该可以用Docker 0.6或更高版本的Upstart,cron等启动一个完整的容器,但是我该怎么做?
我当时正在等待
docker run -t -i ubuntu /sbin/init
Run Code Online (Sandbox Code Playgroud)
会工作就像
lxc-start -n ubuntu /sbin/init
Run Code Online (Sandbox Code Playgroud)
我会得到一个登录屏幕,但它没有显示任何内容.我也尝试使用ssh访问它,但没有运气.我正在使用Docker索引中的默认ubuntu映像.
我想建立一个没有docker iself的Docker镜像.我看过Packer,但它要求在构建器主机上安装Docker.
我查看了Docker Registry API文档,但这些信息似乎并不存在.
我想这个图像只是一个tarball,但我希望看到格式的完整规范,即需要什么样的格式,并且需要任何元数据文件.我可以尝试从注册表中下载图像并查看其中的内容,但是没有关于如何获取图像本身的信息.
我的项目的想法是实现一个脚本,从我编译的atefacts创建一个图像,并将其上传到注册表.我想将OpenEmbedded用于此目的,基本上这将是对Bitbake的扩展.
我有一个关于在Docker容器和UUID生成中运行的应用程序的问题.
这是我们的场景:
目前我们的应用程序正在使用事件驱动框架.
对于事件,我们根据mac地址,pid,
时间戳和计数器生成UUID .
对于像CoreOS这样的分布式系统上运行容器(虽然机会非常非常低),无法保证用于生成UUID的所有参数对于每个容器都是唯一的,因为集群中一个服务器上的一个容器可以生成UUID使用相同的mac,pid,time-stamp和counter作为集群上的另一个容器.
实质上,如果这两个UUID都生成一个事件并将其发送到我们的消息总线,那么显然会发生冲突.
在我们的分析中,这种情况似乎归结为每个Docker容器上mac地址的唯一性.
所以坦率地说:
我在周末在码头工人的IRC上问了这个问题,但在我考虑答案之前不得不停下来:
如果我有许多应用程序在容器中运行(暂时,假设它们都运行在相同的物理硬件上,但不一定是这种情况),我希望每个应用程序能够找到每个应用程序其他自动.
使用某种注册表(例如,etcd或DNS-SD/Bonjour),您可以宣布您的服务和任何相关细节,让其他应用程序了解它们并相应地路由流量.
这里的问题是,虽然应用程序可以知道它在容器中服务的主机名/端口,但这不一定是它可以访问的端口或地址.有两点需要加入的信息:
您如何建议我在容器屏障上获取此信息?
关于如何解决这个问题的任何想法或指导?
docker ×8
architecture ×1
boot2docker ×1
centos ×1
dns ×1
linux ×1
lxc ×1
mac-address ×1
macos ×1
openembedded ×1
packer ×1
protocols ×1
ssh ×1
travis-ci ×1
uuid ×1
yocto ×1
zeromq ×1