Currently, I run a simple docker container by using the following files.
DockerFile
FROM microsoft/aspnet:4.7.1 WORKDIR /inetpub/wwwroot EXPOSE 80 COPY index.html .
docker-compose.yml
version: '3.4' services: testapp: image: mytestapp:${TAG:-latest} build: context: . dockerfile: Dockerfile
docker-compose.override.yml
version: '3.4' services: testapp: ports: - "9091:80"
I use windows image to create my container by using the following command and I can access it by http://localhost:9091/.
docker-compose -f docker-compose.yml -f docker-compose.override.yml build
I want to access my app by using HTTPS instead of http.
What are the steps that I need to follow ?
By default docker use https to connect to docker registry. But there can be use cases to use insecure registry.
If you are using Docker Desktop and want to connect through the TCP socket, enable the Expose daemon on tcp://localhost:2375 without TLS option in the General section of your Docker settings. Then set Engine API URL to tcp://localhost:2375 .
Thanks Jerome for the answer. I did the following things to get https working on my container. I hope this might be helpful to someone.
This image has IIS on it.
certificate.ps1
import-module webadministration cd cert: $cert = New-SelfSignedCertificate -DnsName myweb -Friendlyname MyCert -CertStoreLocation Cert:\LocalMachine\My $rootStore = New-Object System.Security.Cryptography.X509Certificates.X509Store -ArgumentList Root, LocalMachine $rootStore.Open("MaxAllowed") $rootStore.Add($cert) $rootStore.Close() cd iis: new-item -path IIS:\SslBindings\0.0.0.0!443 -value $cert New-WebBinding -Name "Default Web Site" -IP "*" -Port 443 -Protocol https iisreset
version: '3.4' services: testapp.svc: ports: - "9091:80" - "9092:443"
FROM microsoft/aspnet:4.7.1 WORKDIR /inetpub/wwwroot EXPOSE 80 EXPOSE 443 COPY index.html . COPY certificate.ps1 . RUN powershell.exe ./certificate.ps1
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With