Tag: caching

在Docker中使用Redis设置群集模式(Windows 7)

我正在尝试在集群模式下设置Redis,当我尝试使用Jedis API连接到Redis时,我在下面看到exception。 Exception in thread "main" redis.clients.jedis.exceptions.JedisNoReachableClusterNodeException: No reachable node in cluster at redis.clients.jedis.JedisSlotBasedConnectionHandler.getConnection(JedisSlotBasedConnectionHandler.java:57) at redis.clients.jedis.JedisSlotBasedConnectionHandler.getConnectionFromSlot(JedisSlotBasedConnectionHandler.java:74) at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:116) at redis.clients.jedis.JedisClusterCommand.run(JedisClusterCommand.java:31) at redis.clients.jedis.JedisCluster.set(JedisCluster.java:103) at com.redis.main.Main.main(Main.java:18) 我正在使用以下命令启动Redis $ docker run -v /d/redis.conf:/usr/bin/redis.conf –name myredis redis redis-server /usr/bin/redis.conf 我简单的redis.conf如下所示。 port 6379 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes 以下是redis启动日志。 $ docker run -v /d/redis.conf:/usr/bin/redis.conf –name myredis redis […]

不会压扁/压扁docker镜像会对registrycaching产生不利影响吗?

假设你有一个docker图像,并将其压平或压扁以减小尺寸。 这对于运行时工件是有利的,所以它们可以消耗最less的资源用于存储和推/拉。 但是我想知道在压缩图像进行存储时,是否在压缩(生成单个压扁的图层)和在容器registry部分发生的图层重用之间进行权衡。 下面是一个例子:假设你有一个图像,有几层 – 一个普通的老的Docker镜像 – 大小可能是500MB。 您可以使用压扁或压扁来将其压缩到一个大小为250 MB的单个图层中。 现在让我们假设你需要改变你的图像,创build一个版本2.版本2是在容器的最后一层的一个很小的改变,也许在CMD指令之前改变一个设置文件的名字。 在你将一堆扩展图层推送到registry的情况下,当你推送这个新的图像时,只有不同的最后一层需要被存储在registry的caching中,这可能意味着总的大小(对于初始图像和你的新版本2图像一起)将会是,比如说550 MB或者什么,取决于最后一层发生了变化。 与此同时,在平铺的情况下,您的新版本2图像只是一些全新的单层图像,与原始容器没有共同的历史logging。 (也许你的本地 Docker实例可以看到与展平相关的图层历史logging,但是registry没有这个)。 在这种情况下,您必须在registry中存储大约500 MB的内容:第一个和第二个版本的图像每个需要250 MB。 显然,只要我们第三次这样做,平坦图像的总空间实际上大于对扩展图像的增量变化的空间。 有什么我错过了这个工作的方式吗? 它build议你只想在将容器运送到最终目的地之前执行压扁操作,但在存储在registry中时通常不希望进行压扁操作。 可能会出现这样的情况:基础图像太大,扁平化会导致尺寸缩小,这是值得的,但是我想了解一般情况,而我找不到讨论图层扁平化的特定方面的文档。

dockerbuild设 – 无caching=真仍然build立与caching?

我build立一个图像:Dockerfile: FROM centos:7 build立命令: $ docker build -t my-image:1.0 . 现在我做第二个图像(这是基于原始docker文件)Dockerfile: FROM centos:7 RUN yum install -y mysql 我使用–no-cache选项构buildtrue $ docker build –no-cache=true -t my-image:1.1 . Sending build context to Docker daemon 2.048 kB Step 1 : FROM centos:7 —> 970633036444 Step 2 : xx 它似乎使用caching。 而且当我尝试删除我的图像:1.0: docker rmi 970633036444 Error response from daemon: conflict: […]

如何cachingdocker构build的包pipe理器下载?

如果我从我的主机运行composer install ,我打我的本地composer phpcaching: – Installing deft/iso3166-utility (1.0.0) Loading from cache 然而,当在Dockerfile中构build一个容器时: RUN composer install -n -o –no-dev 我下载了所有的东西,例如: – Installing deft/iso3166-utility (1.0.0) Downloading: 100% 这是预期的,但我喜欢避免它。 即使重build,它也会下载一切。 我想有一个composer php的通用caching,我也可以转发其他docker项目。 我看着这个,find了在Dockerfile中定义一个卷的方法 : ENV COMPOSER_HOME=/var/composer VOLUME /var/composer 我将其添加到我的Dockerfile ,预计只下载一次这些文件,然后点击caching。 然而,当我修改我的composer ,例如删除-o标志,并重新运行docker build . ,我预计会打上caching,但我仍然下载供应商。 卷应该如何在Docker容器中有一个数据caching?

导致Docker内存秒杀的Nginx内容caching

我试图设置代理内容与Nginx的Docker内caching,但遇到我的容器内存问题。 实际的Nginx实现工作正常(页面正在caching和按预期方式服务),但只要页面开始caching,我的容器内存(以“docker stats”测量)就会非常迅速地攀升。 根据Nginx文档( https://www.nginx.com/blog/nginx-caching-guide/ ),每增加8,000个页面,我预计会有大约1MB的增长,但增长速度要快得多 – 大概每8000个大概40MB页面。 另外,当在我的容器里面运行“top”的时候,nginx进程的内存看起来很正常 – 几MB,而我的容器内存是暴涨的。 它几乎似乎喜欢caching页面本身,它们存储在一个特定的目录,正在占用内存? 这不应该是这样,因为只有caching键应该在内存中。 我想我已经testing了大约25,000页正在caching – 容器内存永远不会掉下来。 此外,如果我只是代理closurescaching的请求,没有容器内存高峰。 我正在运行一个非常基本的nginxconfiguration设置 – 非常详细的Nginx文档链接。 proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off; server { … location / { proxy_cache my_cache; proxy_pass http://my_upstream; } } Docker镜像testing – 官方nginx镜像,alpine:安装nginx 3.4,centos:7安装nginx 经testing的Docker版本:Docker for Mac 1.12.1,Docker 1.11.2(在Kubernetes上) 显示内存增长的Grafana仪表板

如何清理已损坏的Docker拉的caching的部分图像?

Docker 1.12.3-cs4 CentOS 7.2.1511 由于Docker拉断,我的机器上有很多缺less空间(顺序为几个演出)。 通过断拉,我的意思是机器的date时间是不同步的,所以在拉的过程中产生了一个“需要授权”的错误。 所有的图像和容器的标准列表,包括显示悬挂和所有等,显示本地没有图像或容器。 然而,这个空间仍然被占领。 / v / l / d / devicemapper / devicemapper有2个文件,数据和元数据,总共5g。 我的整个/ V / L / D是7克。 这是没有图像和容器。 我知道我可以删除整个docker结构,重新开始。 但是,如果我有容器需要保存等,这不是一个实际的解决scheme,尤其是当坐在几乎完整。 所以…….有没有一种可行的方法来清理不会影响现有容器的断开的caching? 希望这是有道理的。 如果没有,请让我知道如何以及在哪里可以澄清。 谢谢!

如何清除docker容器内的caching内存

我在EC2中有一个docker swarm CE设置。 我有两个节点。 1名经理和1名工人。 主机实例types是Alpine Linux。 在Manager主机中,内存使用情况是: ~ $ free -m total used free shared buffers cached Mem: 7972 4996 2975 715 178 2857 -/+ buffers/cache: 1960 6011 Swap: 0 0 0 〜$ 现在当我login容器时, ~ $ docker exec -it c7cc255aca1f /bin/bash [root@c7cc255aca1f /]# And see the memory utilization: [root@c7cc255aca1f /]# free -m total used […]

使用Docker群集运行带有服务器pipe理控制台的Infinispan群集

你已经成功地设法使用docker swarm来运行Infinispan群集。 我用这个网站弄清楚如何做到这一点http://blog.infinispan.org/2016/07/improved-infinispan-docker-image.html 我创build了自己的Overlaynetworking,名为infinispan。 然后,我使用以下命令创build一个jgroups-gossip服务: docker service create –name jgroupsGossip –replicas 2 –network infinispan jboss/jgroups-gossip 然后我使用以下方法创build一个集群: docker service create –name infinispanTest –replicas 4 –network infinispan jboss/infinispan-server:latest -Djboss.default.jgroups.stack=tcp-gossip -Djgroups.gossip.initial_hosts=jgroupsGossip[12001] 以下命令显示群集能够在群体中的两个节点之间看到对方 docker exec -it {CONTAINER_ID} /opt/jboss/infinispan-server/bin/ispn-cli.sh -c "/subsystem=datagrid-infinispan/cache-container=clustered:read-attribute(name=members)" 我的问题是试图让pipe理控制台运行使用以下两个命令,而不是infinispanTest服务。 docker service create –name infinispanUI –replicas 2 –network infinispan –publish 9990:9990 jboss/infinispan-server domain-controller -Djboss.default.jgroups.stack=tcp-gossip -Djgroups.gossip.initial_hosts=jgroupsGossip[12001] docker service create […]

从docker访问本地caching

基本上,我想configuration我的笔记本电脑,所以我可以(重新)创builddocker图像,而无需networking连接。 大多数软件包pipe理器都提供了在本地下载软件包的方法 – 这很简单 这个技巧似乎是让这些caching可用于Docker镜像,而不必为每种types的包pipe理器使用networking和本地服务器。 对于一个具体的例子,考虑下面的Dockerfile: FROM amazonlinux:latest WORKDIR /usr/src/app # get the tools we need RUN yum install -y python27-devel python27-pip gcc openssl-devel zip findutils git RUN pip install –disable-pip-version-check –upgrade pip setuptools # Dev requirements COPY requirements-dev.txt ./ RUN pip install -r requirements-dev.txt 我可以使用所需的内容填充本地目录,但不希望重新发明轮子,使其可用于泊坞窗图像。 理想情况下,我可以使用机器全局caching,而不是每个项目caching。 任何人愿意分享一个工作解决scheme? FWIW,我只需要在posix型系统上工作的解决scheme。

问题下载非常大的docker图像

我只是想,caching是解决scheme。 我试图下载一个非常大的文件,稍微慢一点,不稳定的连接。 今天,我以非常高的财务成本和太多的时间来设法下载了12GB。 它获得了大约10GB(由于下雨)失败了。 当下载失败时,使用正常的命令(下面),我必须从头开始。 有没有人知道一个更好的方式与目前的软件做到这一点? 我正在使用Mac OSX Sierra和最新版本的Docker。 命令: docker run –rm -it kaggle/rstats