我读过容器化比虚拟化便宜;我知道容器化使用的资源比虚拟化少,因为只涉及一个操作系统,没有虚拟化硬件。
但是我是否需要一个支持虚拟化的 CPU 来运行 Docker 等容器化,或者因为它在容器中运行使用操作系统库的应用程序,我可以在没有虚拟化的情况下在 CPU 上运行它吗?
我目前正在构建一个我想部署到 Docker 容器的应用程序。
容器将在我的服务器上运行。我希望能够在同一台服务器上运行其他应用程序,而不会增加运行的 Docker 映像的数量。
截至目前,不同的零件/容器是:
我的一般想法是每个不同的部分都应该作为一个容器运行。我担心的是,如果我要在同一台机器上运行另一个应用程序,我最终会用大量无法处理的链接图像来膨胀它。
这可以通过为每个应用程序制作一个图像来解决。这样上述服务将成为一个图像的一部分。这首先与 Docker 的整体安全性或目的冲突吗?
在一个 Docker 镜像中拥有多个服务是否与 Docker 的目的冲突?
当从一个镜像运行服务时,容器的整体安全优势会被消除吗?
一旦我在 Ubuntu 盒子上重新启动了 docker 服务,它就service docker restart启动了一些我没想到它会启动的容器。
这是为什么?哪个配置文件/存储/任何内容保存有关应启动哪些映像的信息?
当我用 . 列出它们时,我有很多图像(~50)docker images。但当我启动时只有 8 个启动dockerd。为什么?我该如何解决这个问题?
谢谢。
我刚刚完成了一个基于 Dokku 的基础设施的设置,但我很好奇如何扩展它。我遵循了Digital Ocean 的这个教程,但没有提到 HA 或可扩展性。
是否可以对 dokku 实例进行负载平衡?如何为这种基于 docker 的基础设施提供 HA?我应该改用Deis,还是等待Flynn 获得释放?大家有没有推荐关于这个话题的好书?
我已经在两个只能通过中间服务器(我没有 su 权限)进行通信的 ubuntu 主机上安装了 lxd。我已经在我的本地主机上创建了一个容器,现在希望在远程服务器上加载容器。
我查阅了lxc/lxd 存储库中的basic.sh测试脚本以确认我使用的是正确的方法(我在此过程中发现我误解了图像与容器)。
我在我的本地主机上创建了一个容器测试,在其中安装了所有必要的东西,停止它,发布它,并执行以下命令:
lxc image export test
Run Code Online (Sandbox Code Playgroud)
这给了我一个 tarball 42cf01c53cb9e...83e3c48.tar.gz(在此处缩短),如文档中所述(我正在运行 lxc 和 lxd 版本 2.0.0.beta3)。尝试通过以下方式在同一主机上导入该图像
lxc image import 42cf01c53cb9e...83e3c48.tar.gz --alias testimage
Run Code Online (Sandbox Code Playgroud)
产生错误:
exit status 2 (tar: metadata.yaml: Not found in archive)
Run Code Online (Sandbox Code Playgroud)
该basic.sh脚本使我相信,我是下虽然正确的路由(除了将tar.gz VS tar.xz descrepancY)。我能够导出标准图像并获取 .xz 文件(当我使用 lxd-images 获取它们时)。例如,
lxd-images import ubuntu --alias ubuntu
lxc image export ubuntu
Run Code Online (Sandbox Code Playgroud)
生成一个meta-ubuntu...tar.xz和ubuntu...tar.xz文件,可以导入(在不同的服务器上)
lxc image import meta...tar.xz rootfs ubuntu...tar.xz --alias imported_ubuntu
Run Code Online (Sandbox Code Playgroud)
如何在主机之间复制容器?
谢谢!
编辑:我进一步调查并发布了我的测试容器,它创建了它的图像。然后我在导出时得到了 .gz 文件(没有元数据)。如果我从原始图像中劫持元数据,那么我将无法启动容器,尽管导入不再对我崩溃——我显然不知道我在做什么。使用 lxd …
我想理解容器与虚拟机的所有不同之处。对于这两种虚拟化方法,都可以观察到具有所有操作系统的文件系统。但是在 Docker 容器中,例如 centos 5.x,如果我uname -a在容器的 shell 中执行,输出会显示我的主机内核版本。它是如何工作的以及与经典虚拟机(vmware、virtualbox、xen 等)的主要区别?
我们在 FreeBSD 10 中运行了一些 jails,并且已经决定停用 FreeBSD 服务器并将所有 jails 迁移到 Linux 环境 Red Hat 6 或 7。
是否有将 BSD jails 迁移到 linux 的直接方法——作为可以通过 docker 运行的容器
或任何其他方式将 BSD 监狱转换为容器并再次通过 docker 拉/运行。
还有其他方法吗?我不确定这是否真的可能,因为我尝试在谷歌上阅读但没有遇到过类似的事情。
我已经设置了 docker 引擎模块,并且自动创建了 NAT 交换机。我的问题是:我是否有机会使用现有的 Hyper-V 虚拟交换机来连接我的容器?我还可以使我的网络连接透明吗?我将不胜感激任何有关此事的指导方针。额外问题:考虑到我不太关心安全性,我的主要目的只是隔离一些测试应用程序的地方并使系统尽可能快可能的?谢谢你们。
我在 Amazon Elastic Beanstalk 上有一个多容器 docker 环境,其中包含以下Dockerrun.aws.json文件:
{
"AWSEBDockerrunVersion": 2,
"containerDefinitions": [
{
"name": "web",
"memoryReservation": 256,
"image": "my/nginx/repo/image",
"portMappings": [
{
"hostPort": 80,
"containerPort": 80
}
],
"links": [
"api"
],
"essential": true
},
{
"name": "api",
"memoryReservation": 256,
"image": "my-api/repo",
"essential": true,
"portMappings": [
{
"hostPort": 3000,
"containerPort": 80
}
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
最终,我希望由 nginx 服务的节点应用程序将请求解析为来自链接容器的命名地址,因此在我的web图像(节点应用程序)中,我想向http://api/some/resourcenginx发出请求并让 nginx 将其解析为 api 容器。
现在,由于 docker 由于指定的链接为 api 容器添加了一个主机条目,我希望 nginx 服务器从主机etc/hosts文件中解析地址,但是正如我发现的那样,nginx 使用它自己的解析器。在稍微研究了这个问题之后,我发现在非 Elastic …
我已经在 ECS 上设置了集群、容器、任务和服务。
在我创建该服务后,它似乎正在运行“3 个所需的任务”,但是没有任何任务被创建为挂起或正在运行。实际上,它似乎什么也没做。
我的任务定义(不包括空值和空数组)是
{
"containerDefinitions": [
{
"portMappings": [
{
"hostPort": 5000,
"protocol": "tcp",
"containerPort": 25565
},
{
"hostPort": 5000,
"protocol": "udp",
"containerPort": 25565
}
],
"cpu": 0,
"memoryReservation": 1024,
"image": "itzg/bungeecord",
"essential": true,
"name": "BungeeCord"
}
],
"compatibilities": [
"EC2"
],
"taskDefinitionArn": "arn:aws:ecs:us-west-1:949960343466:task-definition/BungeeCordTask:3",
"family": "BungeeCordTask",
"requiresAttributes": [
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.21"
}
],
"requiresCompatibilities": [
"EC2"
],
"revision": 3,
"status": "ACTIVE",
}
Run Code Online (Sandbox Code Playgroud)
我的集群有 3 个 ECS 实例,它们都在运行并且上面没有任何东西: 我的集群
我的服务在这里: 我的服务
我没有任何自动缩放、负载平衡或任何设置。但我确实有一些真正的默认服务发现。
任何人都知道为什么没有任务开始?
编辑:
containers ×10
docker ×9
lxc ×3
amazon-ec2 ×1
amazon-ecs ×1
freebsd ×1
jail ×1
linux ×1
nginx ×1
ubuntu ×1