【发布时间】:2015-07-21 02:28:24
【问题描述】:
我想知道是否可以使用 Docker 创建一个虚拟集群,以便我可以运行为使用 SGE 集群管理的 HPC 集群设计的脚本。这些是相当大/复杂的工作流程,所以它不仅仅是我可以重写的东西,比如 TORQUE/PBS。从理论上讲,我应该能够诱使 Docker 认为有多个节点,就像我的内部 HPC 集群一样。如果有人能帮我避免告诉我无法完成的痛苦,我将不胜感激。
警告:我不是集群管理员。我更像是最终用户。我在我的 Mac OSX 10.9.5 上运行
Client version: 1.7.0 Client API version: 1.19 Go version (client): go1.4.2 Git commit (client): 0baf609 OS/Arch (client): darwin/amd64 Server version: 1.7.0 Server API version: 1.19 Go version (server): go1.4.2 Git commit (server): 0baf609 OS/Arch (server): linux/amd64 bash-3.2$ boot2docker version Boot2Docker-cli version: v1.7.0 Git commit: 7d89508
我一直在使用图像的衍生物(Dockerfile是here)。我的步骤非常简单,按照website 上的说明进行操作:
- 创建图像
docker-machine create -d virtualbox local
- 将其设为活动图像
eval "$(docker-machine env local)"
- 获取群体图像
docker run --rm swarm create
- 创建群主
docker-machine create \ -d virtualbox \ --swarm \ --swarm-master \ --swarm-discovery token://$TOKEN \ swarm-master
- 使用令牌创建集群节点
docker-machine create \ -d virtualbox \ --swarm \ --swarm-discovery token://$TOKEN \ swarm-agent-00
- 添加另一个节点
docker-machine create \ -d virtualbox \ --swarm \ --swarm-discovery token://$TOKEN \ swarm-agent-01
现在是疯狂的部分。当我尝试使用以下命令获取图像时:eval "$(docker-machine env --swarm swarm-master)" 我得到了这个愚蠢的东西Cannot connect to the Docker daemon. Is 'docker -d' running on this host?。然后我尝试了eval $(docker-machine env swarm-master) 并且它有效,但我不能 100% 确定这是正确的做法:
NAME ACTIVE DRIVER STATE URL SWARM
local virtualbox Running tcp://192.168.99.105:2376
swarm-agent-00 virtualbox Running tcp://192.168.99.107:2376 swarm-master
swarm-agent-01 virtualbox Running tcp://192.168.99.108:2376 swarm-master
swarm-master * virtualbox Running tcp://192.168.99.106:2376 swarm-master (master)
- 此时,我使用这个 yaml 文件构建了我的多容器应用程序:
bior: image: stevenhart/bior_annotate command: login -f sgeadmin volumes: - .:/Data links: - sge sge: build: . ports: - "6444" - "6445" - "6446"
使用docker-compose up
- 然后最后打开新镜像
docker run -it --rm dockersge_sge login -f sgeadmin
但问题出在这里
当我运行 qhost 时,我得到以下信息:
HOSTNAME ARCH NCPU NSOC NCOR NTHR LOAD MEMTOT MEMUSE SWAPTO SWAPUS ---------------------------------------------------------------------------------------------- global - - - - - - - - - - 6bf6f6fda409 lx-amd64 1 1 1 1 0.01 996.2M 96.2M 1.1G 0.0
不应该认为有多个CPU,即我的swarm节点中的每一个?
【问题讨论】:
标签: docker sungridengine