Disclaimer!
I know this forum is for DevOS and my question is not about deployment, but it's about development.
Background
I was using a laptop with openSUSE Leap 15.1 to develop a Qt app. I upgraded to openSUSE Tumbleweed. Now I realize that library versions which my app is dependent upon are not available for Tumbleweed. Now I have these options:
- Reinstall openSUSE Leap 15.1 (or maybe 15.2?)
- Set up a development environment with some Docker images
- Set up a development environment with a virtual machine
- Unavailable dependencies: grab their binary packages directly and install them manually on openSUSE Tumbleweed
- ...?
Question
About 2nd option i.e. Docker.
It's known how to use Docker to deploy the app. However, I'm not quite sure how to use it for app development.
Plan
Does this plan make sense? Is something missing? Just asking here before spending time to try it out:
- Make use of
docker-compose
andDockerfile
suggested - Create a
docker-compose.yml
file defining custom bindmount volumes to be able to share data between container and the host - Create a
Dockerfile
starting withFROM opensuse/leap:15.1
- Install all the dependency packages inside
Dockerfile
withzypper --root /usr/local/
- Needed container data would be inside
/usr/local/lib64/
,/usr/local/lib/
and/usr/local/include/
- Share needed container data with the host by copying data to custom bindmount volumes defined inside
docker-compose.yml
file - Add bindmount volumes to Qt Creator library path and include path
- Use Qt Creator to debug and develop the source code on the host machine