记用vs调式docker环境下web程序的一处坑

若选择web项目支持https,此时launchSettings.json文件为:

"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:54372",
"sslPort": 54373
}
此时sslPort不为0(开启https时)http和https两种协议的端口都固定Dockerfile文件中可以不暴露端口(EXPOSE可以不设置),如:
#EXPOSE 80
#EXPOSE 443

sslPort修改为0(关闭https时)每次重新编译程序端口号会递增,无法固定。Dockerfile文件中必须暴露端口,如:
EXPOSE 80

80和443两个默认端口都可以通过Dockerfile进行修改,如:

ENV ASPNETCORE_URLS http://+:81

ENV ASPNETCORE_URLS http://+:81,https://+:444

EXPOSE 跟着改。

另:vs+docker启动环境下,多种方式修改配置,环境变量始终为Development,代码内修改除外。

Production部分

启用https时docker-compose.override.yml文件为

aspnetcore环境变量修改为非Development时,若无证书,docker-compose启动会报错

此时内容为:

version: ‘3.4‘

services:
  dockerlinuxdemo.web:
    restart: always
    environment:
      - ASPNETCORE_ENVIRONMENT=Production
      - ASPNETCORE_URLS=https://+:443;http://+:80
      - ASPNETCORE_HTTPS_PORT=38112
    ports:
      - "38111:80"
      - "38112:443"
    volumes:
      - ./DockerLinuxDemo.Web/bin/Release/netcoreapp2.1/publish:/app
      - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
      - ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro

不启用https时修改ASPNETCORE_URLS即可,ASPNETCORE_HTTPS_PORT和ports并不影响:

version: ‘3.4‘

services:
  dockerlinuxdemo.web:
    restart: always
    environment:
      - ASPNETCORE_ENVIRONMENT=Production
      - ASPNETCORE_URLS=http://+:80
      - ASPNETCORE_HTTPS_PORT=38112
    ports:
      - "38111:80"
      - "38112:443"
    volumes:
      - ./DockerLinuxDemo.Web/bin/Release/netcoreapp2.1/publish:/app
      - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
      - ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro

docker-compose up --build -d 挺方便的

原文地址:https://www.cnblogs.com/wintersoft/p/9902734.html

时间: 2024-08-28 08:52:58

记用vs调式docker环境下web程序的一处坑的相关文章

Docker环境下使用SpringBootAdmin2.x教程

Spring Boot Admin 2.x是一个用于监测管理微服务应用的程序,通过Eureka注册中心发现服务,然后获取服务的运行状态.日志信息.并提供一套UI界面供系统运维人员检查,同时结合Spring Security进行登录权限认证 首先上完整的Github项目代码: liumapp/spring-boot-admin-in-docker 然后是完整的Wiki文档: 使用文档 所需依赖 spring boot 2.0.2 spring cloud Finchley.RELEASE code

Docker环境下自动更新Let’s Encrypt SSL证书

说明:以下脚本在Ubuntu 18.04运行通过,大部分脚本执行需要管理员权限. 1. 准备docker环境 # 安装必备工具包 apt-get -y install apt-transport-https ca-certificates curl software-properties-common # 添加docker阿里云源,相对官方源速度更快 curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo ap

如何在Linux桌面环境下自动启动程序?

转自:http://os.51cto.com/art/201401/426464.htm 有时候,当你登录进入到Linux桌面后,可能想自动启动某个程序.这类启动程序在你登录进入到桌面后,可以进行面向整个系统的配置(比如自动代理),或者针对特定用户的桌面定制(比如Conky). 大多数Linux桌面环境有各自的图形用户界面(GUI),让用户可以配置针对特定用户的自动启动程序或服务. 我在本教程中将介绍如何在各种Linux桌面环境下,自动启动某个程序. GNOME桌面环境 在终端中运行这个命令,启

Linux常用开发环境软件-RabbitMQ安装(docker环境下)

linux下docker环境安装RabbitMQ版本 1.从docker官网仓库下载安装RabbitMQ镜像 docker pull rabbitmq:management 注意:如果docker pull rabbitmq 后面不带management,启动rabbitmq后是无法打开管理界面的,所以我们要下载带management插件的rabbitmq. 2.启动RabbitMQ docker镜像 docker run -d --hostname my-rabbit -p 5672:5672

Win7环境下Web服务器的搭建和常见问题的处理

摘要:随着计算机技术的发展,学校和家庭用机很多都更新配置了Win7系统,如何在此环境下搭建Web服务器?该文根据多年的教学经验,总结了在Win7环境下动态网站Web服务器的搭建和常见问题的处理. 关键词:Web服务器;Win7系统;常见问题 Web服务器也称为WWW服务器,主要功能是提供网上信息浏览服务.Web服务器不仅能够存储信息,还能使用户在通过Web浏览器提供的信息的基础上运行脚本和程序. 静态网站是指网站的内容“固定不变”,当用户浏览器通过互联网HTTP协议向Web服务器请求提供网页内容

Docker环境下编译android源码|编译可运行xposed

前言 因为我的电脑是Ubuntu18的版本,成功编译xposed刷入手机之后无法启动,检查了所有的环境,没有问题,发现可能是Ubuntu系统的兼容库的问题,但是我不可能重新安装系统吧,毕竟有点蠢,所以最好的方式就是在docker的Ubuntu容器中编译,统一环境问题,也可以隔离环境平时 工作开发环境,下面开始操作 安装配置docker docker加速,采用对国人友好的镜像地址 通过修改daemon配置文件/etc/docker/daemon.json来使用加速器,执行以下命令: 您可以配置 D

公有云环境下应用程序的自动化部署与水平扩展问题

先介绍了一下公有云计算环境下的一些特点,再根据这些特点探讨一下作为云计算用户而言,如何对应用程序做好自动化部署和水平扩展(弹性计算)的问题.阅读本文需要有一定的云计算知识.开发运维知识. 公有云环境的优势及其特点 公有云为企业用户或个人用户(以下统称为用户)可提供三种服务,基础服务.应用服务和运维服务. 基础服务,为用户节省了服务器.网络.存储等硬件成本以及这些硬件相关的运维成本,通过虚拟化这一核心技术能让用户通过公有云服务平台使用和管理自己硬件资源. 应用服务,为用户提供可用性和可靠性等系统级

Linux环境下Web项目的安装与部署过程

1. 准备工作 下载相应版本的Linux版JDK.Tomcat安装文件. 例:jdk-6u21-linux-i586-rpm.bin (安装版) jdk-6u21-linux-i586.rpm (安装版) jdk-7u79-linux-x64.tar.gz (解压缩版) 推荐搭配:JDK1.7 + Tomcat7.0 较稳定 2. 安装JDK 首先将安装包通过ftp上传到指定的文件目录下   例:/usr/local/java 新建文件夹命令: [[email protected] usr]#m

Linux 环境下Web环境搭建————ActiveMQ

1.下载安装包http://activemq.apache.org/activemq-5143-release.html 2.解压至指定目录 bin目录下为执行脚本 (脚本无法执行需要修改权限(chmod 775 activemq)) 3. 设置activeMQ配置环境./activemqrc  activemq setup ~/.activemqrc 3.启动mq bin目录下 activemq start      后台执行nohup  activemq start 指定日志文件启动 act