2

I'm trying to follow the instructions on https://docs.docker.com/get-started/part3/ but changing it to a single node MariaDB database. I am using a docker-compose.yml file that looks like this...

version: "3"
services:
  database:
    image: mariadb:latest
    environment:
      MYSQL_DATABASE: jeesample
      MYSQL_USER: jeeuser
      MYSQL_PASSWORD: password
    networks:
    - webnet
    ports:
    - "3307:3306"
networks: 
  webnet:

Then I start it using

docker stack deploy -c docker-compose.yml jeesample

However, when I look at docker stack ps jeesample I get the following:

ID            NAME                      IMAGE           NODE  DESIRED STATE  CURRENT STATE                   ERROR                      PORTS
9yjyzmi86aqm  jeesample_database.1      mariadb:latest  moby  Running        Running less than a second ago
gqamjzc2u1fw   \_ jeesample_database.1  mariadb:latest  moby  Shutdown       Failed 6 seconds ago            "task: non-zero exit (1)"
615zc8s0rts1   \_ jeesample_database.1  mariadb:latest  moby  Shutdown       Failed 18 seconds ago           "task: non-zero exit (1)"
pod5ldwn6p6v   \_ jeesample_database.1  mariadb:latest  moby  Shutdown       Failed 27 seconds ago           "task: non-zero exit (1)"
ma1gkri9os14   \_ jeesample_database.1  mariadb:latest  moby  Shutdown       Failed 37 seconds ago           "task: non-zero exit (1)"

Trying to connect to it using jdbc:mariadb://localhost:3307/jeesample from a SQL client on my local machine fails because I am unable to connect

3
  • nice to know, and ? can you elaborate your expectations? Commented May 18, 2017 at 12:55
  • Can't see a question... Commented May 18, 2017 at 12:58
  • "unable to connect" -- the text of the error is likely to give some clues. Commented May 19, 2017 at 5:00

1 Answer 1

2

One way of diagnosing this issue is to look at the logs. To get the logs do docker ps to get a list of the containers then docker logs -f <container ID> to get the log result. Since it is on a docker-compose the container may go away after a short while so the -f option will keep it connected until it terminates.

To resolve the issue which the logs say that there needs to be a password for the root user, I just needed to add

MYSQL_RANDOM_ROOT_PASSWORD: "true"

Although there are other options such has

MYSQL_ROOT_PASSWORD: "blah" // visible on source
MYSQL_ALLOW_EMPTY_PASSWORD: "yes" // not recommended
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.