mar*_*ker 8 docker docker-compose docker-swarm
当前,我通过使用以下文件运行一个简单的Docker容器。
Docker文件
FROM microsoft/aspnet:4.7.1
WORKDIR /inetpub/wwwroot
EXPOSE 80
COPY index.html .
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml
version: '3.4'
services:
testapp:
image: mytestapp:${TAG:-latest}
build:
context: .
dockerfile: Dockerfile
Run Code Online (Sandbox Code Playgroud)
docker-compose.override.yml
version: '3.4'
services:
testapp:
ports:
- "9091:80"
Run Code Online (Sandbox Code Playgroud)
我使用Windows映像通过以下命令创建容器,并且可以通过http:// localhost:9091 /访问它。
docker-compose -f docker-compose.yml -f docker-compose.override.yml build
Run Code Online (Sandbox Code Playgroud)
我想使用HTTPS而非http访问我的应用程序。
我需要遵循哪些步骤?
感谢Jerome的回答。我做了以下事情来使https在我的容器上工作。我希望这可能对某人有所帮助。
证书.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
Run Code Online (Sandbox Code Playgroud)
version: '3.4'
services:
testapp.svc:
ports:
- "9091:80"
- "9092:443"
Run Code Online (Sandbox Code Playgroud)
FROM microsoft/aspnet:4.7.1
WORKDIR /inetpub/wwwroot
EXPOSE 80
EXPOSE 443
COPY index.html .
COPY certificate.ps1 .
RUN powershell.exe ./certificate.ps1
Run Code Online (Sandbox Code Playgroud)
在Docker上打开SSL端口(443)
归档时间: |
|
查看次数: |
9046 次 |
最近记录: |