Docker images would be easier to customize if we could see the source for them

docker

#1

In the postgres dockerhub description it says:

Aiming to have CircleCI extended images ease adoption of Docker and CircleCI. Once users are successful, we encourage users to build and customize their images to suite their individual project needs.

I agree this seems like a good idea, however the fact that I can’t see the source code for the prebuilt Docker images that CircleCI provides makes extending them much harder. For example I have extended the circleci/python:3.6 image like so:

FROM circleci/python:3.6

RUN sudo apt-get update && sudo apt-get install -f -y postgresql-client

CMD ["python3"]

(Because I couldn’t get postgres to work without installing that client. I have no idea why it fixed my issue but it did…) However now I get an error I was not previously getting, which makes me think that CMD ["python3"] may not be the right CMD to run. However I have no way of telling what CMD the circleci/python:3.6 image is running, so I can’t duplicate it exactly like I’d like to.

Is there any reason CircleCI’s docker images used in tests can’t be open source? Besides making it easier to extend them it’d also give more visibility into what their differences are.


#2

I figured out why installing the postgres client worked for me. It’s because it just took enough time to let postgres get started. Also the other error was related to some permissions of the Docker socket getting reset somehow. Please disregard those parts of this post.

However I think my point that Dockerfiles being open source would be helpful is still valid.


#3

Thanks for the feedback. We’ll make the Dockerfiles public soon.


#4

We have published the dockerfiles at https://github.com/circleci/circleci-images


#5

To see the Dockerfiles, you’ll need to go to the ‘with-dockerfiles’ branch: https://github.com/circleci/circleci-images/tree/with-dockerfiles


#6