我想知道这些事情之间有什么区别.它们具有几乎相同的命令并给出相同的结果.
我无法mongodb从docker swarm群集连接到外部服务器.
据我了解这是因为集群使用覆盖网络驱动程序.我对吗?
如果没有,docker overlay驱动程序如何工作以及如何mongodb从群集连接到外部服务器?
我正在尝试使用以下命令运行docker daemon:
docker -d
Run Code Online (Sandbox Code Playgroud)
但我在控制台中收到:
unknown shorthand flag: 'd' in -d
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能运行docker daemon?
我无法向docker容器中的flask应用请求。它没有响应。
有我的烧瓶应用程序文件:
import json
from flask import Flask, jsonify
from flask import request
from trained_model import predict
app = Flask(__name__)
@app.route("/", methods=['POST'])
def main():
res = []
for obj in request.json:
item = str(obj['item'])
print item
predicted = predict(item)
print predicted
res.append({'item': item, 'correct': predicted})
return json.dumps({'results': res})
if __name__ == "__main__":
app.run(host='0.0.0.0')
Run Code Online (Sandbox Code Playgroud)
有我的dockerfile:
FROM tensorflow/tensorflow
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Bundle app source
COPY . /usr/src/app
RUN sh docker_install.sh
EXPOSE 5000
ENTRYPOINT ["python"] …Run Code Online (Sandbox Code Playgroud) 如果我运行后端的单个 docker 容器,它运行良好并连接到在主机上运行的 mongodb。但是当我使用 docker-compose 运行后端时,它不会连接到 mongodb 并打印到控制台:
MongoError: failed to connect to server [12.345.678.912:27017] on first connect [MongoError: connection 0 to 12.345.678.912:27017 timed out]
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml 内容:
version: "3"
services:
web:
image: __BE-IMAGE__
deploy:
replicas: 1
restart_policy:
condition: on-failure
resources:
limits:
cpus: "0.1"
memory: 2048M
ports:
- "1337:8080"
networks:
- webnet
visualizer:
image: dockersamples/visualizer:stable
ports:
- "1340:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
placement:
constraints: [node.role == manager]
networks:
- webnet
networks:
webnet:
Run Code Online (Sandbox Code Playgroud)
我如何运行单个 docker 容器:
docker run -p 1337:8080 BE-IMAGE
Run Code Online (Sandbox Code Playgroud)