【发布时间】:2017-01-14 16:47:39
【问题描述】:
-
初始化群模式:
root@ip-172-31-44-207:/home/ubuntu# docker swarm init --advertise-addr 172.31.44.207 Swarm initialized: current node (4mj61oxcc8ulbwd7zedxnz6ce) is now a manager. To add a worker to this swarm, run the following command: -
加入第二个节点:
docker swarm join \ --token SWMTKN-1-4xvddif3wf8tpzcg23tem3zlncth8460srbm7qtyx5qk3ton55-6g05kuek1jhs170d8fub83vs5 \ 172.31.44.207:2377
要向该 swarm 添加管理器,请运行“docker swarm join-token manager”并按照说明进行操作。
# start 2 services
docker service create continuumio/miniconda3
docker service create --name redis redis:3.0.6
root@ip-172-31-44-207:/home/ubuntu# docker service ls
ID NAME REPLICAS IMAGE COMMAND
2yc1xjmita67 miniconda3 0/1 continuumio/miniconda3
c3ptcf2q9zv2 redis 1/1 redis:3.0.6
如上所示,redis 有它的副本,而 miniconda 不似乎是复制。
我通常会登录到 miniconda 容器来输入这些命令:
/opt/conda/bin/conda install jupyter -y --quiet && mkdir /opt/notebooks && /opt/conda/bin/jupyter notebook --notebook-dir=/opt/notebooks --ip='*' --port=8888 --no-browser
问题是docker exec -it XXX bash 命令不适用于 swarm 模式。
【问题讨论】:
-
0 个副本表示容器启动失败。我建议您在 docker 守护程序上配置日志驱动程序(例如 syslog 驱动程序),因为默认情况下它会吞下容器的所有输出。它可能会一遍又一遍地重新启动,您会想知道原因。如果是这种情况,您将无法附加并修复它;您需要修复 docker service 命令,以便它不会因错误而退出。
标签: docker-swarm