2017-09-25 139 views
1

我是Docker/Docker Swarm中的新手,我想在Swarm上創建一個自定義的mosquitto服務。我從ubuntu創建了一個自定義蚊子圖像 lcsf/mosquitto3:latest,然後我添加了一些工具(ping,ipconfig)。我可以使用docker run/bin/bash運行一個容器,但我無法使用該映像創建Swarm服務。該服務未成功創建。下面有一些輸出。我不能使用基於Ubuntu的鏡像部署Docker Swarm服務

Dockerfile:

FROM ubuntu:latest RUN apt-get -y update RUN apt-get install -y mosquitto mosquitto-clients EXPOSE 80 443 1883 8083 8883

泊塢服務創建輸出:

overall progress: 0 out of 1 tasks 1/1: preparing [========> ] verify: Detected task failure

該輸出被示出在一個循環中,然後我使用CTRL + C停止它,創建服務,但不運行,0/1副本。

Docker服務ps mqtt(我的自定義名稱)輸出,有3個節點。

ID NAME IMAGE NODE
DESIRED STATE CURRENT STATE ERROR PORTS llqr0gysz4bj mqtt.1 lcsf/mosquitto3:latest Docker02 Ready Ready 2 seconds ago kcwfqovyn2mp \_ mqtt.1 lcsf/mosquitto3:latest Docker03 Shutdown Complete 2 seconds ago ruisy599nbt4 \_ mqtt.1 lcsf/mosquitto3:latest Docker03 Shutdown Complete 7 seconds ago xg1lib5x8vt9 \_ mqtt.1 lcsf/mosquitto3:latest Docker02 Shutdown Complete 13 seconds ago fgm9wu25t0lj \_ mqtt.1 lcsf/mosquitto3:latest Docker03 Shutdown Complete 18 seconds ago

就是這樣,我希望有人能幫助我。在此先感謝,我很抱歉'我的英語和堆棧溢出技能。

更新#1

輸出從journalctl -f -n10命令捆紮來創建服務後:

Sep 25 09:01:03 Docker01 dockerd[1230]: time="2017-09-25T09:01:03.692391553-04:00" level=info msg="Node join event for Docker02-a9b6d39043d3/192.168.222.51" Sep 25 09:01:15 Docker01 systemd-udevd[31966]: Could not generate persistent MAC address for veth8e5ebcb: No such file or directory Sep 25 09:01:15 Docker01 systemd-udevd[31967]: Could not generate persistent MAC address for vethaf2978b: No such file or directory Sep 25 09:01:15 Docker01 kernel: docker0: port 1(vethaf2978b) entered blocking state Sep 25 09:01:15 Docker01 kernel: docker0: port 1(vethaf2978b) entered disabled state Sep 25 09:01:15 Docker01 kernel: device vethaf2978b entered promiscuous mode Sep 25 09:01:15 Docker01 kernel: IPv6: ADDRCONF(NETDEV_UP): vethaf2978b: link is not ready Sep 25 09:01:15 Docker01 kernel: eth0: renamed from veth8e5ebcb Sep 25 09:01:15 Docker01 kernel: IPv6: ADDRCONF(NETDEV_CHANGE): vethaf2978b: link becomes ready Sep 25 09:01:15 Docker01 kernel: docker0: port 1(vethaf2978b) entered blocking state Sep 25 09:01:15 Docker01 kernel: docker0: port 1(vethaf2978b) entered forwarding state Sep 25 09:01:15 Docker01 kernel: docker0: port 1(vethaf2978b) entered disabled state Sep 25 09:01:15 Docker01 kernel: veth8e5ebcb: renamed from eth0 Sep 25 09:01:15 Docker01 kernel: docker0: port 1(vethaf2978b) entered disabled state Sep 25 09:01:15 Docker01 kernel: device vethaf2978b left promiscuous mode Sep 25 09:01:15 Docker01 kernel: docker0: port 1(vethaf2978b) entered disabled state Sep 25 09:01:33 Docker01 dockerd[1230]: time="2017-09-25T09:01:33.693508463-04:00" level=info msg="Node join event for Docker03-f71a448c54c7/192.168.222.52" Sep 25 09:01:46 Docker01 dockerd[1230]: time="2017-09-25T09:01:46.541311475-04:00" level=info msg="Node join event for Docker02-a9b6d39043d3/192.168.222.51" Sep 25 09:01:57 Docker01 dockerd[1230]: sync duration of 3.001217113s, expected less than 1s Sep 25 09:02:03 Docker01 dockerd[1230]: time="2017-09-25T09:02:03.694876667-04:00" level=info msg="Node join event for Docker03-f71a448c54c7/192.168.222.52" Sep 25 09:02:33 Docker01 dockerd[1230]: time="2017-09-25T09:02:33.695993259-04:00" level=info msg="Node join event for Docker03-f71a448c54c7/192.168.222.52"

更新#2

這是從docker service ps --no-trunc mqtt命令的輸出

ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS bour693j8jbbrt799fz0nkpwr mqtt.1 lcsf/mosquitto3:[email protected]:beca44e5f916d08730dd19d9d10dd2dcbd3502866f69316806a63bc094a179a9 Docker03 Ready Ready 4 seconds ago wro6254cs94gkijs8s4v9cvim \_ mqtt.1 lcsf/mosquitto3:[email protected]:beca44e5f916d08730dd19d9d10dd2dcbd3502866f69316806a63bc094a179a9 Docker03 Shutdown Complete 4 seconds ago 7vgx2mehaxki2p680fesn5jww \_ mqtt.1 lcsf/mosquitto3:[email protected]:beca44e5f916d08730dd19d9d10dd2dcbd3502866f69316806a63bc094a179a9 Docker03 Shutdown Complete 10 seconds ago 52hv6da6mj72s64po3hze4ham \_ mqtt.1 lcsf/mosquitto3:[email protected]:beca44e5f916d08730dd19d9d10dd2dcbd3502866f69316806a63bc094a179a9 Docker03 Shutdown Complete 15 seconds ago e3s383vtg0idw8ryxwh2y3gmu \_ mqtt.1 lcsf/mosquitto3:[email protected]:beca44e5f916d08730dd19d9d10dd2dcbd3502866f69316806a63bc094a179a9 Docker03 Shutdown Complete 21 seconds ago 90i30f3riwka8xs187xi7uxt2 mqtt.2 lcsf/mosquitto3:[email protected]:beca44e5f916d08730dd19d9d10dd2dcbd3502866f69316806a63bc094a179a9 Docker02 Ready Ready less than a second ago p2lzd04tinjdjkwkr26umlh9a \_ mqtt.2 lcsf/mosquitto3:[email protected]:beca44e5f916d08730dd19d9d10dd2dcbd3502866f69316806a63bc094a179a9 Docker02 Shutdown Complete less than a second ago q8awoj8uu7gad6hvonhl4t9f1 \_ mqtt.2 lcsf/mosquitto3:[email protected]:beca44e5f916d08730dd19d9d10dd2dcbd3502866f69316806a63bc094a179a9 Docker02 Shutdown Complete 6 seconds ago 1fuqt0et7vw1vntd8p62jiiut \_ mqtt.2 lcsf/mosquitto3:[email protected]:beca44e5f916d08730dd19d9d10dd2dcbd3502866f69316806a63bc094a179a9 Docker02 Shutdown Complete 11 seconds ago k3vlusok792zw0v3yddxqlmg3 \_ mqtt.2 lcsf/mosquitto3:[email protected]:beca44e5f916d08730dd19d9d10dd2dcbd3502866f69316806a63bc094a179a9 Docker02 Shutdown Complete 17 seconds ago i4tywshqv4pxsyz5tz0z0evkz mqtt.3 lcsf/mosquitto3:[email protected]:beca44e5f916d08730dd19d9d10dd2dcbd3502866f69316806a63bc094a179a9 Docker01 Ready Ready less than a second ago 44ee4iqqpkeome4lokx9ykmbo \_ mqtt.3 lcsf/mosquitto3:[email protected]:beca44e5f916d08730dd19d9d10dd2dcbd3502866f69316806a63bc094a179a9 Docker01 Shutdown Complete less than a second ago kdx273e9fkpqkafztif1dz35q \_ mqtt.3 lcsf/mosquitto3:[email protected]:beca44e5f916d08730dd19d9d10dd2dcbd3502866f69316806a63bc094a179a9 Docker01 Shutdown Complete 6 seconds ago l2oewfnwbkia94r6rifbcfi4h \_ mqtt.3 lcsf/mosquitto3:[email protected]:beca44e5f916d08730dd19d9d10dd2dcbd3502866f69316806a63bc094a179a9 Docker01 Shutdown Complete 11 seconds ago dyekgkd0swsualssw4dtvk681 \_ mqtt.3 lcsf/mosquitto3:[email protected]:beca44e5f916d08730dd19d9d10dd2dcbd3502866f69316806a63bc094a179a9 Docker01 Shutdown Complete 17 seconds ago

+0

在一個終端和其他終端中運行'journalctl -f -n10'嘗試創建服務。您將在journalctl終端中找到問題。請報告問題 –

+0

我不能在這裏回覆輸出,它太長了,然後我在問題中添加了它。 –

+0

重新啓動所有節點並重試 –

回答

0

你的問題是你的dockerfile。您正在羣集服務上運行bash命令。您需要運行不存在

FROM ubuntu:latest 
RUN apt-get -y update 
RUN apt-get install -y mosquitto mosquitto-clients 
EXPOSE 80 443 1883 8083 8883 
CMD ["tail", "-f", "/dev/null"] 

這是一個無限的tail命令,這將確保你的容器不退出的命令。在部署到羣集時,在映像中運行不查找用戶輸入的命令。

+0

謝謝!現在所有的副本都在運行!感謝所有幫助過我的人。 –

相關問題