I am trying to deploy the following image osticket/osticket - Docker Image | Docker Hub
In the quick start guide, they have this command line docker run commands for both mysql and the application osticket.
Quick Start
Ensure you have a MySQL container running that osTicket can use to store its data.
docker run --name osticket_mysql -d -e MYSQL_ROOT_PASSWORD=secret \ -e MYSQL_USER=osticket -e MYSQL_PASSWORD=secret -e MYSQL_DATABASE=osticket mariadb
Now run this image and link the MySQL container.
docker run --name osticket -d --link osticket_mysql:mysql -p 8080:80 osticket/osticket
When I execute these two commands exactly as shown above, the website works via http://localhost:8080/scp/
.
Now, I tried to put the same into a docker-compose.yaml file:
version: ‘3.8’
services:
osticket:
container_name: osticket-web
image: osticket/osticket
environment:
MYSQL_HOST: localhost
MYSQL_PASSWORD: secret
depends_on:
- db
ports:
- 8080:80
db:
container_name: osticket-db
image: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: osticket
MYSQL_USER: osticket
MYSQL_PASSWORD: secret
when I look at the status, the osticket-web exits
NAME COMMAND SERVICE STATUS PORTS
osticket-db “docker-entrypoint.s…” db running 3306/tcp, 33060/tcp
osticket-web “entrypoint” osticket exited (1)
Looking at the logs it says:
Install/Update osTicket
Configuring mail settings
OSTicket cron job is set to run every 5 minutes
Using external MySQL connection
Waiting for database TCP connection to become available…
Waited for 15 seconds…
Waited for 30 seconds…
Waited for 45 seconds…
Waited for 60 seconds…
Waited for 75 seconds…
Waited for 90 seconds…
Waited for 105 seconds…
Waited for 120 seconds…
Waited for 135 seconds…
Waited for 150 seconds…
Waited for 165 seconds…
Waited for 180 seconds…
************** INSTALLER FATAL ERROR ***************Timed out waiting for database TCP connection
****************************************************Die :(%
Why does the docker-compose version not work, but executing the 2 docker run commands works?