Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Docker container SSL certificates

Is there any elegant way to add SSL certificates to images that have come from docker pull?.

I'm looking for a simple and reproducible way of adding a file into /etc/ssl/certs and run update-ca-certificates. (This should cover ubuntu and Debian images).

I'm using docker on CoreOS, and the CoreOS machine trusts the needed SSL certificates, but the docker containers obviously only have the default.

I've tried using docker run --entrypoint=/bin/bash to then add the cert and run update-ca-certificates, but this seems to permanently override the entry point.

I'm also wondering now, would it be more elegant to just mount /etc/ssl/certs on the container from the host machines copy? Doing this would implicitly allow the containers to trust the same things as the host.

I'm at work with an annoying proxy that resigns everything :(. Which breaks SSL and makes containers kind-of strange to work with.

like image 981
Beau Trepp Avatar asked Sep 25 '14 01:09

Beau Trepp


People also ask

Where does docker Look for certificates?

A custom certificate is configured by creating a directory under /etc/docker/certs.


2 Answers

Mount the certs onto the Docker container using -v:

docker run -v /host/path/to/certs:/container/path/to/certs -d IMAGE_ID "update-ca-certificates" 
like image 150
cdrev Avatar answered Sep 19 '22 23:09

cdrev


I am trying to do something similar to this. As commented above, I think you would want to build a new image with a custom Dockerfile (using the image you pulled as a base image), ADD your certificate, then RUN update-ca-certificates. This way you will have a consistent state each time you start a container from this new image.

# Dockerfile FROM some-base-image:0.1 ADD you_certificate.crt:/container/cert/path RUN update-ca-certificates 

Let's say a docker build against that Dockerfile produced IMAGE_ID. On the next docker run -d [any other options] IMAGE_ID, the container started by that command will have your certificate info. Simple and reproducible.

like image 25
shudgston Avatar answered Sep 21 '22 23:09

shudgston