ENV PYTHONIOENCODING=utf-8
run python3 -m pip install redis
copy spider.py spider.py
cmd python3 spider.py
构建镜像
编写完成Dockerfile以后,执行下面的命令,开始构建我们自己的镜像:
docker build -t localhost:8003/spider:0.01 .这里需要特别注意,由于我们要把这个镜像上传到私有源供Slave服务器上面的从节点下载,所以镜像的命名方式需要满足
localhost:8003/自定义名字:版本号 这样的格式。其中的
自定义名字 和
版本号 可以根据实际情况进行修改。在本文的例子中,我由于要模拟一个爬虫的程序,所以给它取名为spider,由于是第1次构建,所以版本号用的是0.01。整个过程如下图所示。

上传镜像到私有源
镜像构建完成以后,需要把它上传到私有源。此时需要执行命令:
docker push localhost:8003/spider:0.01如下图所示。

大家记住这个构建和上传的命令,以后每一次更新代码,都需要使用这两条命令。
创建服务
Docker Swarm上面运行的是一个一个的服务,因此需要使用docker service命令创建服务。
docker service create –name spider –network host 45.77.138.242:8003/spider:0.01
这个命令创建了一个名为
spider 的服务。默认运行1个容器。运行情况如下图所示。
当然也可以一创建就用很多容器来运行,此时只需要添加一个
--replicas 参数即可。例如一创建服务就使用50个容器运行:docker service create –name spider –replicas 50 –network host 45.77.138.242:8003/spider:0.01
但是一般一开始的代码可能会有不少bug,所以建议先使用1个容器来运行,观察日志,发现没有问题以后再进行扩展。
回到默认1个容器的情况下,这个容器可能在目前三台机器在的任何一台上面。通过执行下面的命令来观察这一个默认的容器运行情况:
docker service ps spider如下图所示。

查看节点Log
根据上图执行结果,可以看到这个运行中的容器的ID为
rusps0ofwids










