当前位置: 首页 > 知识库问答 >
问题:

泊坞窗服务创建永不返回

咸高谊
2023-03-14

什么会阻止泊坞站服务创建 ... 命令完成?它永远不会返回到命令提示符或报告任何类型的错误。相反,它反复在“新”,“已分配”,“就绪”和“开始”之间切换。

这是命令:

docker service create --name proxy -p 80:80 -p 443:443 -p 8080:8080 --network proxy -e MODE=swarm vfarcic/docker-flow-proxy

这是来自“DevOps 2.1工具包 - Docker群”,维克多·法西奇的一本书,我遇到了一个我无法克服的问题......

我试图在一群三个节点上运行一个反向代理服务,所有节点都在LinuxMint系统上本地运行,而< code>docker service create从不返回命令提示符。它在状态之间循环,并且总是显示< code >整体进度:1个任务中的0个...

    < li >这是在一个由三个节点组成的集群上,所有节点都在本地运行,由< code>docker-machine创建,有一个管理器和两个工作器。 < li >在测试过程中,我使用相同的节点集群成功创建了其他覆盖网络和其他服务。

据我所知,这与我为这些节点创建的其他服务之间唯一的显着区别是:

  1. 有三个已发布的端口。我仔细检查了主机,没有其他东西在监听这些端口。
  2. 我不知道vfarcic/docker-flow代理是做什么的。

我正在一个(真实的,不是虚拟盒子/虚拟机/Hyper-V)Linux Mint 19系统(基于Ubuntu 18.04)和Docker 18.06上运行它。我的主机有16Gb RAM和充足的备用磁盘空间。它的设置的唯一目的是在Windows主机上遇到太多问题后学习Docker。

如果我在尝试创建服务的终端中Ctrl-C,我会收到以下消息:

操作在后台继续。使用< code > docker service PS p 7 jfg FZ 8 tqemrgbg 1 bn 0d 06 yp 检查进度。

如果我使用docker service ps--no trunc p473obsbo9tgjom1fd61或5ap,我会得到:

ID                          NAME                IMAGE                                                                                                         NODE                DESIRED STATE       CURRENT STATE               ERROR                                                          PORTS
dbzvr67uzg5fq9w64uh324dtn   proxy.1             dockerflow/docker-flow-proxy:latest@sha256:e4e4a684d703bec18385caed3b3bd0482cefdff73739ae21bd324f5422e17d93   node-1              Running             Starting 11 seconds ago
vzlttk2xdd4ynmr4lir4t38d5    \_ proxy.1         dockerflow/docker-flow-proxy:latest@sha256:e4e4a684d703bec18385caed3b3bd0482cefdff73739ae21bd324f5422e17d93   node-1              Shutdown            Failed 16 seconds ago       "task: non-zero exit (137): dockerexec: unhealthy container"
q5dlvb7xz04cwxv9hpr9w5f7l    \_ proxy.1         dockerflow/docker-flow-proxy:latest@sha256:e4e4a684d703bec18385caed3b3bd0482cefdff73739ae21bd324f5422e17d93   node-1              Shutdown            Failed 49 seconds ago       "task: non-zero exit (137): dockerexec: unhealthy container"
z86h0pcj21joryb3sj59mx2pq    \_ proxy.1         dockerflow/docker-flow-proxy:latest@sha256:e4e4a684d703bec18385caed3b3bd0482cefdff73739ae21bd324f5422e17d93   node-1              Shutdown            Failed about a minute ago   "task: non-zero exit (137): dockerexec: unhealthy container"
uj2axgfm1xxpdxrkp308m28ys    \_ proxy.1         dockerflow/docker-flow-proxy:latest@sha256:e4e4a684d703bec18385caed3b3bd0482cefdff73739ae21bd324f5422e17d93   node-1              Shutdown            Failed about a minute ago   "task: non-zero exit (137): dockerexec: unhealthy container"

因此,没有提到节点2或节点3,我不知道错误消息是什么意思。

如果我随后使用< code > docker service logs-f proxy ,我会收到大约每分钟重复一次的以下消息:

proxy.1.l86x3a6md766@node-1|2018/09/11 12:48:46启动HAProxyproxy.1.l86x3a6md766@node-1|2018/09/11 12:48:46获得证书html" target="_blank">http://202.71.99.195:8080/v1/docker-流代理/证书

我只能猜测,它找不到任何证书。那个地址上似乎没有任何内容,但IP地址查找表明它指向了我的ISP。那是从哪里来的?

共有3个答案

滕成双
2023-03-14

同样的问题也发生在我身上。

我认为在我的情况下,图像有一些错误。我做了以下实验:

    < li >我首先提取图像,并创建服务< br > < code > docker service create-name Apache-replicas 5-p 5000:80[image repo] < br >问题中出现了相同的错误。 < li >与上述第一个答案一样,我尝试了不同的顺序< br > < code > docker service create-replicas 5-p 5000:80-name Apache[image repo] < br >出现了相同的错误 < li >我尝试使用本地下载的图像创建服务,但是出现了相同的错误。 < li >我尝试了一个不同的映像,该映像以前有效,然后服务成功创建。

我使用的第一个图像是瑞典语/第一网络。(这不是我的回购,这是我的教授)
我没有检查这张图片的哪一部分是问题所在,但希望这能为其他人提供线索。

慕宜民
2023-03-14

这是一个老问题,但是我在用docker做实验时遇到了同样的问题。对我来说,这个问题是通过在规定名称之前发布端口来解决的。

我相信docker在将名称规定为:-name " name " " image to use " " commands to pass to image on launch "

因此,它继续尝试将这些选项作为命令传递给容器,但在运行服务时失败,而不是将它们用作选项。

童宏富
2023-03-14

docker不能创建服务的动机可能不止一个。要了解原因,最简单的方法是通过运行以下命令来查看服务的最后状态:

docker service ps --no-trunc proxy

其中,您有一个描述上一个错误的ERROR列。

或者,您可以运行

docker service logs -f proxy

查看< code >代理服务内部的情况。

 类似资料:
  • 问题内容: 我正在docker容器内的GCE上运行jenkins实例,并希望从此Jenkinsfile和Github执行多分支管道。我正在为此使用GCE詹金斯教程。这是我的 我总是得到一个错误: 为了使docker在jenkins中工作,我需要更改什么? 问题答案: 看起来像DiD(Docker中的Docker),最近的一期杂志指出这是有问题的。 请参阅“ 在您的CI或测试环境中使用Docker-

  • 如何将多个标签附加到一个 Docker 映像?是否可以使用一个 Docker 文件创建多个标记? 不知何故,这是可能的;例如会得到几个图像,其中一些有多个标签:

  • 我在windows 10 home上工作。 当我运行docker快速启动终端快捷方式或直接运行 start.sh 时,我收到消息: Docker Machine未安装。请重新运行工具箱安装程序,然后重试。看起来“查找vboxmanage.exe”步骤出错…按任意键继续。。。 我尝试重新安装,选择了所有选项,包括NDIS5驱动程序,但我没有帮助。运动学工作正常,但我无法在终端中运行docker。 我

  • 问题内容: 我想在使用Selenium WebDriver和Docker而不是虚拟机的同一台计算机上运行多个Internet Explorer版本。据我所知,Docker完全在Linux上运行,这将使Docker中的IE无法实现。我之所以问是因为我看到Docker在Microsoft Azure上运行。 问题答案: Docker当前不适用于基于Windows的应用程序。Azure上的Docker是

  • 我有一个docker容器运行在localhost:3000上 另外,我有一个节点应用程序在本地主机:8081中运行 现在,如果我想邮寄或收到localhost:3000localhost:8001的请求,根本不起作用。 现在,如果在localhost:3000上以二进制文件(而不是docker文件)运行服务,同样的API请求也可以工作。 如果使用docker,我如何沟通?

  • 我想把9093暴露在码头集装箱外面。当我如下设置暴露于9093的kafka-0端口和KAFKA_ADVERTISED_LISTENERS时,我无法连接到localhost:9093,如以下docker-compose文件所示。 但是,当我换成 和 我可以连接到Kafka经纪人localhost:9092。 如何将外部端口更改为9093以使应用程序连接?我想设置多个经纪商。