I ran a docker-compose up and I get an error on my golang container saying "Error establishing Mongo session" and then the container exits out. I'm not sure if the issue begins with my golang container or mongo.
I've tried a multitude of things at this point. Here is my docker logs file for my golang container.
docker logs for golang
To run in debug mode, run with '-d true' option
time="2019-08-20T20:12:12Z" level=info msg="Logging in INFO mode"
time="2019-08-20T20:12:12Z" level=info msg="Go version go1.7.3"
time="2019-08-20T20:12:12Z" level=info msg="Starting ingest service on port 4001"
time="2019-08-20T20:12:12Z" level=info msg="Koala Version Number: v19.33.0"
time="2019-08-20T20:12:23Z" level=error msg="Error establishing Mongo session"
panic: no reachable servers
goroutine 1 [running]:
panic(0x933c00, 0xc4201b4f70)
/usr/local/go/src/runtime/panic.go:500 +0x1a1
ingest/mongo.InitDB(0x0, 0x0)
/home/jsikala/Documents/koala/go/src/ingest/mongo/mongo.go:34 +0x27e
main.setup()
/home/jsikala/Documents/koala/go/ingest.go:118 +0x3ce
main.main()
/home/jsikala/Documents/koala/go/ingest.go:56 +0x292
This is the error I get when I run my docker compose up.
This is my docker-compose.yml file.
version: "3"
volumes:
data:
external:
name: ${MONGO_VOLUME_NAME}
services:
rails:
image: rails2
container_name: koala_rails_${USER}
environment:
- KOALA_ENV
- RAILS_PORT
- KOALA_INGEST_URL=${INGEST_PROTOCOL}://ingest:${INGEST_PORT}
- KOALA_MONGO_URL=mongo_service:27017
- KOALA_REDIS_URL=redis_service:6379
- KOALA_PKI_IN_DEV
- KOALA_USER_ID_HEADER
- USER
- USERNAME
- KOALA_REGISTER_USER_URL
- KOALA_SECURITY_VALIDATOR_URL
- CERT_FILE_PEM=/usr/src/app/certs/public.pem
- PRIVATE_CERT_FILE_PEM=/usr/src/app/certs/private-key.pem
- SSL_CA_FILE=/usr/src/app/certs/ca.pem
- LOGNAME
- KOALA_SECRET_KEY_BASE
- KOALA_MONGO_USERNAME
- KOALA_MONGO_PASSWORD
- KOALA_HELP_URL
- KOALA_CONTACT_EMAIL
- KOALA_USE_CERTS
- BUNDLE_GEMFILE
- KOALA_SERVER_URL
- RAILS_SERVE_STATIC_FILES
- RAILS_LOG_TO_STDOUT
ports:
- "${RAILS_PORT}:${RAILS_PORT}"
volumes:
- ${CERT_FILE_PEM}:/usr/src/app/certs/public.pem
- ${PRIVATE_CERT_FILE_PEM}:/usr/src/app/certs/private-key.pem
- ${SSL_CA_FILE}:/usr/src/app/certs/ca.pem
mongo_service:
image: mongo:3.2.0
volumes:
- data:/data/db
ports:
- "27017:27017"
redis_service:
image: redis:4.0.8
ports:
- "6379:6379"
ingest:
image: ingest
container_name: koala_ingest_${USER}
extra_hosts:
- csie.as.northgrum.com:10.8.131.12
environment:
- KOALA_ENV
- KOALA_CONFIG_FILE=/go/config.yml
- INGEST_PORT
- LOGNAME
- KOALA_MONGO_URL
- KOALA_JIRA_URL
- KOALA_JIRA_SESSION_URL
- CERT_FILE_PEM=/go/certs/public.pem
- PRIVATE_CERT_FILE_PEM=/go/certs/private-key.pem
- SSL_CA_FILE=/go/certs/ca.pem
- KOALA_REDIS_URL=redis_service:6379
- KOALA_USE_CERTS
- KOALA_MONGO_USERNAME
- KOALA_MONGO_PASSWORD
- JIRA_USERNAME
- JIRA_PASSWORD
ports:
- "${INGEST_PORT}:${INGEST_PORT}"
volumes:
- ${CERT_FILE_PEM}:/go/certs/public.pem
- ${PRIVATE_CERT_FILE_PEM}:/go/certs/private-key.pem
- ${SSL_CA_FILE}:/go/certs/ca.pem
links:
- mongo_service
depends_on:
- mongo_service
- redis_service
NOTE: ingest is the golang service
This is my docker Dockerfile for golang
FROM golang:1.11.5
COPY . .
WORKDIR /go
COPY config.yml /go
RUN mkdir -p $WORKDIR/logs
RUN mkdir -p $WORKDIR/certs
RUN cd $WORKDIR
ENV PATH $PATH:$WORKDIR
CMD ["./runIngest"]
If this ran as intended, golang would be ingesting data in mongo. Any idea what caused this issue?