Open keikoro opened 4 years ago
Sounds good. I’d say that that’s the same reason that our black GH action broke last week (#1337). I don’t use docker, so feel free to change whatever. Note that I did make a thing on docker hub that auto pulls from this repo my fork of this repo.
Ahh, the Docker Hub thing is good to know, thanks. Haven't worked with it before, so will have to read up on it.
You're not wrong about the docker file being broken: https://hub.docker.com/repository/docker/tburrows13/moviepy/builds
Also I've just realised that the docker build there will always be taking from latest
whereas it should really be building from the latest stable version.
Quick question about the image on Docker Hub: can we have several on there? I.e. would it be possible to have one without e.g. the tests and docs, and one that includes them? Like one for users, one for devs or similar.
And am I understanding correctly that it uses the same Dockerfile to "build itself" (and if the above works, one would define different ones and tell the Hub which to use to build which image)? And it uses your fork as the basis, so not actually the main repo? Which is OK I guess (or easier to maintain), just asking because it says it updates with every push to master on the main repo.
The first Q is a result of me wanting to include a .dockerignore
file & trying to think ahead. For that I actually need some more info on some other things in the repo, but I'd best switch to Gitter to ask about that. (AFK now, but will post later.)
Quick question about the image on Docker Hub: can we have several on there? I.e. would it be possible to have one without e.g. the tests and docs, and one that includes them? Like one for users, one for devs or similar.
I honestly have no idea :)
And am I understanding correctly that it uses the same Dockerfile to "build itself" (and if the above works, one would define different ones and tell the Hub which to use to build which image)? And it uses your fork as the basis, so not actually the main repo? Which is OK I guess (or easier to maintain), just asking because it says it updates with every push to master on the main repo.
Yes it uses my fork, so it is only up-to-date as long as I keep my master
up to date. Otherwise, @Zulko would have to create the docker hub as only he has access to the proper moviepy webhooks because it is a 'personal' project.
I couldn't get moviepy running with our current Dockerfile, and it's looking to me like the problem is due to what's described in this SO post and us building on
python:3
in our Dockerfile.I.e. the Python version Docker goes for (3.9) is currently "too new" for certain dependencies. Specifying
python:3.8
as the Python image to build on fixed the problem.I'm assuming this will continue to be a problem with every new Python release, so maybe it would make sense to be a bit stricter with which Python version we use in the Dockerfile. People more familiar with Docker can always modify the file at their end, but I think I'd rather have one that doesn't necessarily build on the newest version – just because we might not always have our eye on updating it – than one that doesn't work for people who don't know how to debug it.
I'll submit a PR to update the Python version, but I'd been meaning to submit a refactored version of the Docker file anyway, one which uses multi-stage builds, so it might make sense to combine those changes into the same PR. Will keep commits separate though, so we can discuss/decide on a commit basis.