代码之家  ›  专栏  ›  技术社区  ›  marvelTracker

在https上运行Docker服务

  •  3
  • marvelTracker  · 技术社区  · 6 年前

    文档文件

    FROM microsoft/aspnet:4.7.1
    WORKDIR /inetpub/wwwroot
    EXPOSE 80
    COPY index.html .
    

    version: '3.4'
    
    services:
    
    testapp:
      image: mytestapp:${TAG:-latest}
    build:
      context: .
      dockerfile: Dockerfile
    

    version: '3.4'
    
    services:
      testapp:
       ports:
        - "9091:80"
    

    我使用Windows映像通过以下命令创建容器,我可以通过 http://localhost:9091/

    docker-compose -f docker-compose.yml -f docker-compose.override.yml build
    

    我想用https而不是http访问我的应用程序。

    2 回复  |  直到 5 年前
        1
  •  3
  •   Jerome Anthony    6 年前
    1. 打开Docker上的SSL端口(443)

        2
  •  3
  •   Gino Mempin Brijesh Sondarva    5 年前

    1. 将自签名证书从此脚本添加到映像:

    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
    
    1. 文件:添加端口443。
       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