mhubig / docker-partkeepr

mhubig/partkeepr docker image repository
62 stars 64 forks source link

docker hub image VS docker-compose ? #25

Closed fenugrec closed 4 years ago

fenugrec commented 4 years ago

Hi, thanks for preparing this. Configuring a system properly for partkeepr is a bit daunting. This issue is more a request for clarification than an issue :

Would it be possible to elaborate on the steps to run the mhubig/partkeepr image found on dockerhub ? I don't understand how it fits together with the docker-compose.yml found in this repo here and how to provide the required mariadb / mysql server. Am I supposed to end up with 2 containers, one with mariadb only ? How are they supposed to talk together ? The image on dockerhub doesn't seem to include mariadb at all (I just ran "apt list" inside it to verify).

TIA

dromer commented 4 years ago

Yes, the docker-compose will pull in both images. and sets them up together in one configuration.

mhubig commented 4 years ago

Yes as @dromer already wrote, the docker-compose.yml file uses the mhubig/partkeepr and also the official mariadb image and sets up a docker network so they can reach each other ...

fenugrec commented 4 years ago

Thanks for the replies. Ok, I'm still just confused by the wording in the README then :

Start by running the following command:

export PARTKEEPR_OKTOPART_APIKEY=0123456 docker run -d -p 80:80 -e PARTKEEPR_OKTOPART_APIKEY --name partkeepr mhubig/partkeepr

Or clone the repo and run it together with a MariaDB database container.

What I understand here is "either run the above command (docker run -d ....), or follow the steps below" . Clearly that first docker run ... command doesn't invoke docker-compose.

But if I run that, then follow the next steps that include docker-compose up, it fails with

ERROR: for partkeepr Cannot start service partkeepr: driver failed programming external connectivity on endpoint docker-partkeepr_partkeepr_1 (966d294a1a52faea564d408235a817639f9df6fe95b2960fdaffbb0929d6f776): Bind for 0.0.0.0:80 failed: port is already allocated

so I had to stop all the containers first, then re-run docker-compose . I'm still not sure I've done this right since that last step leaves apache running in foreground (not what I expected) ?

mhubig commented 4 years ago

Thanks for the replies. Ok, I'm still just confused by the wording in the README then : [...] What I understand here is "either run the above command (docker run -d ....), or follow the steps below" . Clearly that first docker run ... command doesn't invoke docker-compose.

The two options you have are either docker run ... or docker-compose up:

[...] I'm still not sure I've done this right since that last step leaves apache running in foreground (not what I expected) ?

Yes this is intended, so you will quickly see any errors. Just run docker-compose up -d instead for daemon / background mode (see https://docs.docker.com/compose/ for more info on this).

fenugrec commented 4 years ago

Perfect ! thanks for clarifying. May I suggest you add what you just wrote :

docker run ... will just start the partkeepr image which is not very useful if you don't have a mysql db running elsewhere.
docker-compose up will use the docker-compose.yml within this repo and start Partkeepr and a preconfigured MySQL DB image so you're ready to go ...

to the readme ?

[EDIT] sorry, I just noticed you pushed a ton of commits in the last few hours; my comment may not be relevant anymore !

whc2001 commented 4 years ago

I used dockerhub image directly, and now the installation stucks on Database Parameters as there is no mariadb running. I wonder if I can run a instance of mariadb in the host system that also runs docker, and add a port remap on port 3306 so PartKeepr insider docker can use the database outside docker.