DescartesResearch / TeaStore

A micro-service reference test application for model extraction, cloud management, energy efficiency, power prediction, single- and multi-tier auto-scaling
https://se.informatik.uni-wuerzburg.de
Apache License 2.0
120 stars 141 forks source link

docker-compose_default.yaml not working #139

Closed huntertran closed 4 years ago

huntertran commented 4 years ago

I tried to setup services using .yaml files in examples\docker\docker-compose_default.yaml, but the services are not connected

Docker version 19.03.5

kasokz commented 4 years ago

Hi, I just ran it after cloning the repository and running docker-compose -f examples/docker/docker-compose_default.yaml up and it works fine on my machine. I also have Docker version 19.03.5, build 633a0ea. How did you run the example? Does it say Creating network "docker_default" with the default driver or something similar? All the services are put into that same network so they can communicate through the service names. Can you check with docker network inspect docker_default (or whatever the created network was named) if all the services are inside that network?

huntertran commented 4 years ago

this is the result I've got:

Creating network "docker_default" with the default driver
Creating docker_auth_1        ... done
Creating docker_webui_1       ... done
Creating docker_registry_1    ... done
Creating docker_persistence_1 ... done
Creating docker_image_1       ... done
Creating docker_recommender_1 ... done
Creating docker_db_1          ... done

The status in webui look like this image

The network docker_default contains all the containers

[
    {
        "Name": "docker_default",
        "Id": "501f19000b29e3ff7adb5e77b0c33c7ad7c5818317bb6a8cef6417d7840c4b76",
        "Created": "2020-02-26T21:24:39.497440938Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": true,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "2ee33c7b159f0d0afc08038fd0b2753c9fe7dc9ef611603332123f53cb1b3e6c": {
                "Name": "docker_auth_1",
                "EndpointID": "0ae1fd71f9d62e3d7f71af49bba74fb26e8e857097852672b44f574ef7f6c23e",
                "MacAddress": "02:42:ac:12:00:07",
                "IPv4Address": "172.18.0.7/16",
                "IPv6Address": ""
            },
            "3dd04f67bbb94cd3e2eddcad9e1d537f065f16efe100fbf05054992c0b2ecc8c": {
                "Name": "docker_webui_1",
                "EndpointID": "b428a035780ebcd6cd567f76eba26a98b12782d0fabde7c6c997ce5cf97a6c82",
                "MacAddress": "02:42:ac:12:00:06",
                "IPv4Address": "172.18.0.6/16",
                "IPv6Address": ""
            },
            "73f57e8167bd81f8bfbd310bcd4aa14c0e335b818126d02cb10c20bcc0733523": {
                "Name": "docker_persistence_1",
                "EndpointID": "e3cc06f2cee2cef0d8fcaad1c42fce1899e5c8399e57debe1e509caccf04ef68",
                "MacAddress": "02:42:ac:12:00:05",
                "IPv4Address": "172.18.0.5/16",
                "IPv6Address": ""
            },
            "77ec50255911919a2ea772bfd44e735061ecab978f03756b2e347594f31146f2": {
                "Name": "docker_recommender_1",
                "EndpointID": "72c2a5a871451bf182b36345d1d1b78c5d0cce97e0f7f7cbf928940e910a7010",
                "MacAddress": "02:42:ac:12:00:04",
                "IPv4Address": "172.18.0.4/16",
                "IPv6Address": ""
            },
            "a6dd59ebe3b37ee32ec0bc02cee85a3404714e91fd8792a508aea5bfedecda58": {
                "Name": "docker_registry_1",
                "EndpointID": "9c9c46c35ba31ea2c8a97eab60805b4b2b1d2f43a19810c9747a9ab1f5f7d434",
                "MacAddress": "02:42:ac:12:00:03",
                "IPv4Address": "172.18.0.3/16",
                "IPv6Address": ""
            },
            "cf880a0c2627c9f1810bc0657f24770132e9dd25cf87d3d01a4089f5a6df8264": {
                "Name": "docker_image_1",
                "EndpointID": "2b3a6fe3a54718ed66eb54a4a31b76e93926615a6d39aeeffcf01e10d2d464df",
                "MacAddress": "02:42:ac:12:00:02",
                "IPv4Address": "172.18.0.2/16",
                "IPv6Address": ""
            },
            "db19cf6ab1157b0e64f165940946d2b992f727038693529a546b756674a02383": {
                "Name": "docker_db_1",
                "EndpointID": "7d2ff247e84336c065ef44672722ff68485d8c35d11568db9e56dea2db32f321",
                "MacAddress": "02:42:ac:12:00:08",
                "IPv4Address": "172.18.0.8/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {
            "com.docker.compose.network": "default",
            "com.docker.compose.project": "docker",
            "com.docker.compose.version": "1.25.4"
        }
    }
]

I'm using Docker for Desktop on Windows with Linux container

Thank you for your help

SimonEismann commented 4 years ago

Hi Tuan,

I also attempted to recreate this issue and unfortunately was not able to. Can you run docker-compose without the -d flag and upload the full logs?

In the meantime, could you test the following docker-compose file that uses version 1.3.3 of teastore-db, as the MariaDB version used in 1.3.4. has been causing issues for some people. Let me know if this works for you.

version: '3'
services:
  registry:
    image: descartesresearch/teastore-registry
    expose:
      - "8080"
  db:
    image: descartesresearch/teastore-db:1.3.3
    expose:
      - "3306"
    ports:
      - "3306:3306"
  persistence:
    image: descartesresearch/teastore-persistence
    expose:
      - "8080"
    environment:
      HOST_NAME: "persistence"
      REGISTRY_HOST: "registry"
      DB_HOST: "db"
      DB_PORT: "3306"
  auth:
    image: descartesresearch/teastore-auth
    expose:
      - "8080"
    environment:
      HOST_NAME: "auth"
      REGISTRY_HOST: "registry"
  image:
    image: descartesresearch/teastore-image
    expose:
      - "8080"
    environment:
      HOST_NAME: "image"
      REGISTRY_HOST: "registry"
  recommender:
    image: descartesresearch/teastore-recommender
    expose:
      - "8080"
    environment:
      HOST_NAME: "recommender"
      REGISTRY_HOST: "registry"
  webui:
    image: descartesresearch/teastore-webui
    expose:
      - "8080"
    environment:
      HOST_NAME: "webui"
      REGISTRY_HOST: "registry"
    ports:
      - "8080:8080"
huntertran commented 4 years ago

It's working as expected. Thank you for your support 😄

SimonEismann commented 4 years ago

We released a new version, in which we fix the version of the underlying database to the same version 1.3.3 was using. Would you mind testing if the original docker-compose file works for you after pulling the newest images?

huntertran commented 4 years ago

now even the docker-compose file provided in this thread not working (the one specified version 1.3.3 for db) image I delete the containers, the images and start from scratch :(

huntertran commented 4 years ago

ah, it's working now. The status won't update so I thought it's the same problem as before

SimonEismann commented 4 years ago

It seems teastore v1.3.3 uses mariadb v10.4.6, but teastore v1.3.5 used mariadb v1.0.4.12. I fixed this in v1.3.5, would you mind testing if the newest v1.3.5 images work now?

SimonEismann commented 4 years ago

Hey, does the issue still persist? Otherwise, I would close this issue for now

huntertran commented 4 years ago

yes, it's working as expected. Right after deploying the image, you have to wait a little bit. The status in TeaStore status page does not correctly reflect this. After a while, all statuses will turn green.

martinstraesser commented 4 years ago

I had the same issue with the most recent TeaStore version 1.3.7 and Docker Compose when building the Docker images from source. Updating the MariaDB version to 10.4.12 in https://github.com/DescartesResearch/TeaStore/blob/master/utilities/tools.descartes.teastore.database/Dockerfile solved the problem for me.

SimonEismann commented 4 years ago

Updated the version accordingly and triggered release of 1.3.8. Could you test if this now works without having to change anything locally?

martinstraesser commented 4 years ago

Yes works fine now. Thank you!