标签: containers

docker不是VM,为什么容器需要基础映像OS?

据说docker不是VM,容器直接在主机上运行.

但为什么容器需要基础映像操作系统?

如果容器中的进程在基本映像OS上运行,则VM和docker之间的区别是什么(只有基本映像OS可以重用并保持只读?)

为什么它比VM更快启动?

什么构成基本图像操作系统?内核,rootfs还是两者兼而有之?

containers operating-system image docker

59
推荐指数
1
解决办法
1万
查看次数

将docker image推送到amazon ecs存储库

我是AWS新手.我想在AWS ECS容器实例上设置私有docker存储库.我创建了一个名为存储库name.AWS显示的示例推送命令正在运行.

aws ecr get-login --region us-west-2 
docker build -t name .
docker tag name:latest ############.dkr.ecr.us-west-2.amazonaws.com/name:latest 
docker push ############.dkr.ecr.us-west-2.amazonaws.com/name:latest
Run Code Online (Sandbox Code Playgroud)

但是使用这些命令,我​​构建并推送了一个名为的图像name,我想构建一个名为的图像foo.所以我将命令改为:

docker build -t foo .
docker tag foo ###########.dkr.ecr.us-west-2.amazonaws.com/name/foo
docker push ###########.dkr.ecr.us-west-2.amazonaws.com/name/foo
Run Code Online (Sandbox Code Playgroud)

这应该有效,但事实并非如此.经过一段时间的重试后,我得到了错误:

The push refers to a repository [###########.dkr.ecr.us-west-2.amazonaws.com/name/foo]
8cc63cf4528f: Retrying in 1 second
...
name unknown: The repository with name 'name/foo' does not exist in the registry with id '############'
Run Code Online (Sandbox Code Playgroud)

AWS是否真的需要为我要推送的每个图像提供专用存储库?

containers amazon-web-services docker

59
推荐指数
3
解决办法
2万
查看次数

自定义容器应该有免费的开始/结束功能吗?

当创建一个按照通常规则播放的自定义容器类(即使用STL算法,使用性能良好的通用代码等)时,在C++ 03中实现迭代器支持和成员开始/结束函数就足够了.

C++ 11引入了两个新概念 - 基于范围的for循环和std :: begin/end.基于范围的for循环理解成员开始/结束函数,因此任何C++ 03容器都支持基于范围的开箱即用.对于算法,推荐的方法(根据Herb Sutter的'Writing modern C++ code')是使用std :: begin而不是member function.

但是,此时我不得不问 - 是否建议调用完全限定的begin()函数(即std :: begin(c))或依赖ADL并调用begin(c)?

在这种特殊情况下,ADL似乎毫无用处 - 因为如果可能的话,std :: begin(c)委托给c.begin(),通常的ADL好处似乎不适用.如果每个人都开始依赖ADL,那么所有自定义容器都必须在其必需的命名空间中实现额外的begin()/ end()自由函数.但是,有几个消息来源似乎暗示对开始/结束的不合格调用是推荐的方式(即https://svn.boost.org/trac/boost/ticket/6357).

那么C++ 11的方式是什么?容器库作者是否应该为其类编写额外的开始/结束函数,以便在没有使用namespace std的情况下支持不合格的开始/结束调用; 或者使用std :: begin;?

c++ containers iterator argument-dependent-lookup c++11

58
推荐指数
1
解决办法
4928
查看次数

是否可以在Windows容器中安装Visual Studio

是否可以在Windows Server上的Windows 容器中安装任何版本的Visual Studio ?

其动机是使用Windows Containers在持续集成系统中构建软件,以便构建环境标准化.

continuous-integration containers visual-studio windows-server docker

55
推荐指数
2
解决办法
2万
查看次数

Kubernetes和Service Fabric之间的区别

我曾经在Kubernetes工作并且目前正在阅读有关Service Fabric的信息,我知道Service Fabric提供微服务框架模型,如有状态,无状态和演员,但除此之外,它还提供GuestExecutables或者Containers也是Kubernetes也管理/编排容器.谁能解释两者之间的细微差别?

containers kubernetes azure-service-fabric

55
推荐指数
1
解决办法
2万
查看次数

如果它正在运行,则停止并删除docker容器

我希望实际停止并删除一个docker容器,如果它正在运行.这是一个构建脚本.

以下面的例子为例.如何在bash脚本中的NAMES列下停止并删除docker容器"rabbitmq".

docker ps

CONTAINER ID        IMAGE             COMMAND                  CREATED             STATUS              PORTS                   NAMES
9909a5e2856f        rabbitmq-image   "/docker-entrypoint.s"   11 minutes ago      Up 11 minutes       0.0.0.0:5672->5672/tcp, rabbitmq
8990dd1fe503        redis-image      "/entrypoint.sh redis"   6 weeks ago         Up 4 days           0.0.0.0:32770->6379/tcp redis
etc 
Run Code Online (Sandbox Code Playgroud)

以下命令将删除容器并执行即将发生的操作

docker stop rabbitmq && docker rm -f rabbitmq
Run Code Online (Sandbox Code Playgroud)

然而它将它梳理成我想知道的脚本?我认为它看起来像这样.

#!/bin/bash

if [ /*docker ps check some value */ ]; then
   docker stop rabbitmq && docker rm -f rabbitmq
fi
Run Code Online (Sandbox Code Playgroud)

bash containers docker

54
推荐指数
7
解决办法
4万
查看次数

以root用户之外的用户身份连接到docker容器

默认情况下运行时

docker run -it [myimage]

要么

docker attach [mycontainer]

您以root用户身份连接到终端,但我想以其他用户身份进行连接.这可能吗?

containers root docker

54
推荐指数
4
解决办法
7万
查看次数

docker-compose 容器名称使用破折号 (-) 而不是下划线 (_)

我总是在 Ubuntu 上使用 docker-compose,在这个环境中容器用下划线命名:

  • <项目>_<服务>_<副本>

但现在,我切换到 Windows 10(使用 Docker Desktop)并且命名约定发生了变化:

  • <项目>-<服务>-<副本>

在此输入图像描述

我不知道这是否取决于操作系统,但这是一个问题。我的脚本失败了,因为它们依赖于以下划线命名的容器。

有没有办法自定义它并使用下划线而不是破折号?

containers docker docker-compose docker-desktop

54
推荐指数
3
解决办法
2万
查看次数

python中究竟是什么"容器"?(什么是python容器类型?)

python文档经常提到"容器".例如:

如果check_circular为False(默认值:True),则将跳过对容器类型的循环引用检查,并且循环引用将导致OverflowError(或更糟).

但我找不到容器的任何官方定义,也没有列出它们.

编辑

对于Python 2.7.3:

检查内置类型是容器:

(isinstance(object, collections.Container)退货True)

  1. __contains__定义方法的容器:

    • 所有内置序列类型:列表,字节数组,字符串,unicode字符串和元组.
    • 字典
    • 所有内置集类型:集合和frozensets
  2. 没有__contains__定义方法的容器:

    • xrange对象

检查不是容器的内置类型:

(isinstance(object, collections.Container)返回False):

  • Int对象
  • 浮动物体
  • 长物体
  • 布尔对象
  • 模块对象
  • 文件对象
  • 缓冲对象
  • 无对象

告诉我你检查了哪些其他内置类型isinstance(object, collections.Container) ,我会将它们添加到列表中.

python containers

53
推荐指数
2
解决办法
4万
查看次数

在容器视图中的视图控制器中,如何访问包含容器的视图控制器?

这很难说,但我有一个包含容器视图的视图控制器(vc1)(我正在使用故事板).在该容器视图中是导航控制器和根视图控制器(vc2).

从vc2中我怎样才能访问vc1?

或者,如何将vc1传递给vc2?(记住我正在使用故事板).

containers view storyboard ipad ios

52
推荐指数
4
解决办法
4万
查看次数