'Docker Portainer 'failed copying supplied certs: File doesn't exist'

I'm trying to run the portainer docker with tls. This is my docker command:

> docker run -d -p 9443:9443 -p 8000:8000 \
>     --name portainer --restart always \
>     -v /var/run/docker.sock:/var/run/docker.sock \
>     -v portainer_data:/data \
>     -v certs:/certs \
>     portainer/portainer-ce:2.11.0 --sslcert ~/certs/portainer.crt --sslkey ~/certs/portainer.key

The output of docker logs portainer is:

level=info msg="2022/02/01 21:04:04 failed copying supplied certs: File doesn't exist"
level=info msg="2022/02/01 21:04:06 failed copying supplied certs: File doesn't exist"
level=info msg="2022/02/01 21:04:07 failed copying supplied certs: File doesn't exist"
level=info msg="2022/02/01 21:04:09 failed copying supplied certs: File doesn't exist"
level=info msg="2022/02/01 21:04:10 failed copying supplied certs: File doesn't exist"
level=info msg="2022/02/01 21:04:13 failed copying supplied certs: File doesn't exist"
level=info msg="2022/02/01 21:04:17 failed copying supplied certs: File doesn't exist"

I have generated the cert with:

openssl genrsa -out portainer.key 2048
openssl ecparam -genkey -name secp384r1 -out portainer.key
openssl req -new -x509 -sha256 -key portainer.key -out portainer.crt -days 3650

In desperation I copied the two files everywhere. I have added and copied these 2 files portainer.key and portainer.crt into the directories:

~/certs/

~/certs/certs

~/local-certs/certs/

~/local-certs/

~/var/lib/docker/volumes/certs/

~/var/lib/docker/volumes/certs/certs

I don't see why it doesn't find the certs?

Yes, I have many duplicate files everywhere now. But this is only for the test. Ofcourse I will delete and tidy up the filesystem after that.



Solution 1:[1]

if you don't have to use ssl in your system, you can remove ssl parts which included by your command and try it again without ssl parts.

Solution 2:[2]

Look at the docs again. the certs need to be inside the container and are mounted via -v

 -v /path/to/your/certs:/certs \
portainer/portainer-ce:2.11.1 --sslcert /certs/portainer.crt --sslkey /certs/portainer.key

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 KaraHan
Solution 2 janwels89