使用 docker 进行 docker stack 部署时,错误“超过上下文截止日期或上下文截止日期未知”的含义和原因是什么?我在不同的环境和上下文中看到很多帖子都出现此错误。但我无法理解如何避免这个问题。
当我遇到网络错误时,我知道该怎么做,但在这些情况下却不知道。
我在亚马逊的弹性容器注册表(ECR)上有一个图像,我希望在我的Docker单节点群中部署为Docker服务.目前该服务正在运行图像latest标签的旧版本,但我已经将更新版本的latest标签上传到ECR.
docker service update --force my_service在我的使用image的swarm节点上运行会XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest导致:
无法在注册表上访问XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest以记录其摘要.每个节点将独立访问XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest,可能导致运行不同版本映像的不同节点.
这似乎阻止节点从latest注册表中提取标签的新副本,并使服务正确更新.
我已正确登录docker loginECR,并且运行docker pull XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest正常(并返回摘要).
docker service update尽管图像可用,为什么无法从ECR注册表中读取摘要?
我有一个v3的撰写文件,其中有3个服务共享/使用相同的卷.在使用swarm模式时,我们需要创建额外的容器和卷来管理整个群集中的服务.
我打算使用NFS服务器,以便将单个NFS共享直接挂载到群集中的所有主机上.
我在下面找到了两种方法,但它需要在docker主机上执行额外的步骤 -
在主机上使用"fstab"或"mount"命令挂载NFS共享,然后将其用作docker服务的主机卷.
使用Netshare插件 - https://github.com/ContainX/docker-volume-netshare
有没有一种标准的方法,我可以使用docker compose v3直接使用/挂载NFS共享,只需执行少量/无步骤(我知道无论如何都需要"nfs-common"包)在docker主机上?
我已经启用了docker swarm进行本地测试.现在,无论何时尝试部署使用,docker-compose up我都会看到以下警告:
警告:您正在使用的Docker Engine正在以群集模式运行.
Compose不使用swarm模式将服务部署到swarm中的多个节点.将在当前节点上安排所有容器.
要跨群集部署应用程序,请使用
docker stack deploy.
如何禁用docker swarm模式?
我知道如何使用--volumes-from创建数据卷容器并将其挂载到多个其他容器,但我确实有一些关于它的用法和限制的问题:
情况:我希望使用数据卷容器将用户上传的图像存储到我的Web应用程序中.此数据卷容器将由运行Web前端的许多其他容器使用/安装.
问题:
数据量容器可以使用/安装在驻留在docker群中的其他主机上的容器中吗?
性能如何?建议用这种方式构建东西吗?
有没有更好的方法来处理跨容器和主机(如NFS)的持久资源共享?
情况:很多沉重的码头工人定期受到一段时间的打击,然后长时间不使用.
希望:按需启动容器(如systemd通过套接字激活启动)并在空闲一段时间后停止它们.最终用户没有明显的停机时间.
选项:
任何想法赞赏!
与尝试多克群与码头工人Mac版桌面.我试过这个:
docker-machine create -d virtualbox node-1
docker-machine create -d virtualbox node-2
docker-machine create -d virtualbox node-3
eval $(docker-machine env node-1)
docker swarm init \
--secret my-secret \
--auto-accept worker \
--listen-addr $(docker-machine ip node-1):2377
Run Code Online (Sandbox Code Playgroud)
最后一个命令(docker swarm init)返回此错误:
来自守护程序的错误响应:无法选择要广告的IP地址,因为此系统具有多个地址
我不知道是怎么回事.任何人都知道如何调试?
docker docker-swarm docker-machine docker-for-mac docker-desktop
我们可以在docker engine swarm模式下跨多个主机共享一个公共/单个命名卷,这是最简单的方法吗?
我docker system prune昨天运行命令,花了一些时间,然后我的SSH会话因不同原因断开连接.
不幸的是我现在要:
Error response from daemon: a prune operation is already running.
显然有锁和修剪命令不再运行.
有人知道如何在不停止和移除所有容器的情况下移除锁定吗?
编辑:在回购中创建了一个问题:https://github.com/moby/moby/issues/36447
我玩Docker Swarm,并使用docker-compose.yml带docker deploy.除了一个处于挂起状态的服务之外,所有服务都会被部署.我添加了一个约束,将此服务绑定到其中一个节点.我的问题不是关于这个特定的问题,而是关于如何排除故障的更多问题.Docker文档提到了服务处于挂起状态的可能原因,但这些都不适用(约束问题,资源排放).
我可以在某个地方看到码头工人群'思考过程'吗?它在想什么?
编辑:应该更明确我使用新的1.12引入的swarm选项.