标签: containers

对于STL或!STL,这就是问题所在

毫无疑问,我会选择将STL用于大多数C++编程项目.最近我提出了这个问题,"有没有你不会使用STL的情况?"......

我越是想到它,我就越意识到也许应该是我选择不使用STL的情况......例如,一个非常大的长期项目,其代码库预计将持续数年......也许是真正符合项目需求的定制容器解决方案值得最初的开销吗?你怎么想,有没有你选择不STL的情况?

c++ containers stl

40
推荐指数
7
解决办法
6578
查看次数

使用STL容器进行中值计算时,正确的方法是什么?

假设我需要从1000000个随机数值序列中检索中值.

如果使用任何但是 STL ::名单,我没有(内置)的排序方式为中值计算序列.

如果使用STL :: list,我不能随机访问值来检索排序序列的中间(中位数).

是自己实现排序和使用例如STL :: vector更好,还是使用STL :: list并使用STL :: list :: iterator for-loop-walk到中值?后者似乎不那么开销,但也感觉更难看..

或者我有更多更好的选择吗?

c++ algorithm containers stl median

40
推荐指数
5
解决办法
3万
查看次数

Scala集合中的可变与不可变

我是Scala的新手,我正在尝试理解集合层次结构.我看到有"可变"和"一成不变"的集合之间的区别,但我不明白这是什么,其实就是在执行层面,以及如何这涉及到valvar.有人能给我一些见解吗?此外,每个集合类都有"可变"版本和"不可变"版本,还是有些类只能是"可变"或"不可变"?

collections containers scala scala-collections

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

在docker容器上开发时使用IDE

在使用docker容器时开发应用程序时我没有得到一些东西.

让我说我正在开发一个java应用程序,我设置了一个带有jdk 8基本映像的java容器,我仍然需要在我的本地开发机器上安装java 8 jdk,因为我要使用的IDE将寻找运行时本地计算机上的库而不是docker容器.

这是对的还是我错过了什么?有些事情我可以完全在docker容器上做,比如设置一个数据库,但是我还需要在我的本地开发机器上做一些事情,并尝试将它与我的docker镜像匹配,例如像java或python这样的语言运行库为了使用IDE.

containers docker docker-compose docker-swarm docker-machine

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

如何使用相同的imageID删除多个docker镜像?

我创建了一个本地docker注册表,然后从docker hub中提取了一些docker镜像,然后将它们推送到本地注册表.现在我想删除我的本地图像.但问题是imageID图像是相同的,我不能删除它们.我搜索了解决方案,但我找不到解决方案.

>> docker images

REPOSITORY                     TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
localhost:5000/[repo1]        v-0.9.1              810001cb03af        4 weeks ago         594.6 MB
[myaccount]/[repo1]           v-0.9.1              810001cb03af        4 weeks ago         594.6 MB
Run Code Online (Sandbox Code Playgroud)

如你所见image ID,两张图片都是一样的.我该如何删除它们?

编辑

  • 我的码头版:

    Docker version 1.8.2, build 0a8c2e3

  • 输出docker rmi 810001cb03af:

    来自守护程序的错误响应:冲突,无法删除图像810001cb03af,因为它被标记在多个存储库中,使用-f强制错误:无法删除图像:[810001cb03af]

  • 如果我这样做docker rmi -f 81000将删除他们两个,我需要再次拉.

containers image docker

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

什么是容器/适配器?C++

什么是容器/适配器

有人请用外行的语言解释.

我试图在互联网上查找,但定义和解释太技术化,难以理解.

我有C++的基本知识及其子主题,如(class/templates/STL).

编辑1:

有谁能给我一个容器/适配器应用的实际例子?

只是为了更好地理解:-)

谢谢.

c++ containers stl adapter

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

模板类与模板容器

如何使用不同的容器声明模板类(适配器)作为模板参数?例如,我需要声明类:

template<typename T, typename Container>
class MyMultibyteString
{
    Container buffer;
    ...
};
Run Code Online (Sandbox Code Playgroud)

而我希望它基于矢量.如何使其明确定义?(以防止有人写这样的声明MyMultibyteString<int, vector<char>>).

而且,如何实施这样的建设:

MyMultibyteString<int, std::vector> mbs;
Run Code Online (Sandbox Code Playgroud)

没有将模板参数传递给容器.

c++ containers templates stl

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

docker restart容器失败:"已经在使用中",但是没有更多的docker镜像

我首先得到了我的nginx docker图像:

docker pull nginx
Run Code Online (Sandbox Code Playgroud)

然后我开始了:

docker run -d -p 80:80 --name webserver nginx
Run Code Online (Sandbox Code Playgroud)

然后我停了下来:

docker stop webserver
Run Code Online (Sandbox Code Playgroud)

然后我尝试重新启动它:

$docker run -d -p 80:80 --name webserver nginx
docker: Error response from daemon: Conflict. The container name "/webserver" is already in use by container 036a0bcd196c5b23431dcd9876cac62082063bf62a492145dd8a55141f4dfd74. You have to remove (or rename) that container to be able to reuse that name..
See 'docker run --help'.
Run Code Online (Sandbox Code Playgroud)

嗯,这是一个错误.但实际上现在容器列表中没有任何内容:

docker container list
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
Run Code Online (Sandbox Code Playgroud)

为什么我重启nginx图片失败了?怎么解决?

containers list nginx docker

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

在Ubuntu下,docker + ufw的最佳实践是什么?

我刚尝试了Docker.它真棒,但似乎与ufw不太合作.默认情况下,docker会稍微操纵iptables.结果不是错误,而是我所期望的.有关详细信息,请阅读UFW + Docker的危险

我的目标是建立一个类似的系统

    Host (running ufw) -> docker container 1 - nginx (as a reverse proxy)
                       -> docker container 2 - node web 1
                       -> docker container 3 - node web 2
                       -> .......
Run Code Online (Sandbox Code Playgroud)

我想通过ufw管理传入流量(例如限制访问),因此我不希望docker触摸我的iptables.这是我的测试

环境:

  • 一个新安装的Ubuntu 14.04(内核:3.13.0-53)
  • Docker 1.6.2
  • ufw转发已启用.(启用UFW转发)
  • --iptables=false 已添加到Docker守护程序中.

第一次尝试

docker run --name ghost -v /home/xxxx/ghost_content:/var/lib/ghost -d ghost
docker run --name nginx -p 80:80 -v /home/xxxx/nginx_site_enable:/etc/nginx/conf.d:ro --link ghost:ghost -d nginx
Run Code Online (Sandbox Code Playgroud)

没运气.第一个命令没问题,但第二个命令会抛出错误

Error response from daemon: Cannot start container
Run Code Online (Sandbox Code Playgroud)

第二次尝试

然后我发现了这个:无法用--iptables = …

ubuntu containers firewall iptables docker

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

docker容器是否保留文件更改?

这是一个非常基本的问题,但我有点挣扎,并希望确保我理解正确.

从映像启动容器并对其中的文件进行一些更改后(即:存储在容器上运行的WebApp的数据库中的某些数据),在容器停止和重新启动之间继续使用相同日期的适当方法是什么?

我的理解是正确的,一旦容器停止/完成(即:在交互式会话后退出),那么该容器与所有文件更改一起消失了吗?因此,如果我想保留一些文件更改,我必须将容器的状态提交到图像的新图像/新版本中?

谢谢,朱利安

lifecycle containers docker

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