Host-system CLI tools
July 8, 2021 ยท View on GitHub
make application
phd uses Makefiles to execute common tasks during development, but you can also use standard Docker commands to control your stack.
Basically, make targets are just shorthands for lengthy Docker commands.
TODO: Link "Backend", "Frontend"
CLI
To see all available targets run
make help
After the initial .env configuration, for first initial setup run
make all
You can also chain single targets
make setup up open bash
Or run docker-compose commands against your current stack
docker-compose ps
docker-compose logs
Or use Makefiles for a different folder i.e. for managing an isolated test-stack
cd tests
make all
make run-tests
You can find information in the testing section.
:bulb:
maketargets are run on the stack asdocker-composewithout additional parameters.
:bulb: To do a dry-run for a command you can use the
-noption, eg.make -n all
:warning: removing containers, i.e. with
make cleanremoves also data stored only in the container, you can use host-volumes for persisting data during development
Make vs. Docker commands
You can create a new CLI-container bash with
make cli
or
docker-compose run --rm php bash
Alternatively you can also execute a bash within a running container
docker-compose exec php bash
or
docker exec -it myapp_php_1 bash
Examples
Setup application with demo data and default user password
docker-compose run --rm \
-e APP_ADMIN_PASSWORD=admin1 \
-e APP_MIGRATION_LOOKUP=@app/migrations/demo-data \
php yii app/setup
TODO: link tutorials
Help
Run make help
Dry-run
make -n all
Building images from docker-compose definitions
docker-compose build --pull
Starting application stack
docker-compose up -d
Running application setup command (database, user)
docker-compose run --rm php yii app/setup
Opening application on mapped web-service port
xdg-open http://localhost:21548 &>/dev/null