当前位置: 首页 > 面试题库 >

在HTTPS上运行docker服务

马丰
2023-03-14
问题内容

当前,我通过使用以下文件运行一个简单的Docker容器。

Docker文件

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"

我使用Windows映像通过以下命令创建容器,并且可以通过http:// localhost:9091
/
访问它。

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

我想使用HTTPS而非http访问我的应用程序。

我需要遵循哪些步骤?


问题答案:
  1. 您需要配置Web服务器(在Docker应用程序内部)以启用HTTPS。
  2. 在Docker上打开SSL端口(443)

    • 您可以考虑将NGINX用作Web服务器的反向代理,并在nginx中配置SSL
    • 一方面,如果这是一个公共站点,则可以查看letsencrypt为您的域获取免费的SSL证书。


 类似资料:
  • 问题内容: 我在CI和CD上创建了Jenkinsfile,Dockerfile,Dockerfile.test到CI和CD,在GitHub上构建了我的服务器API,我在Jenkins上构建了该构建,并且构建成功,并且我的docker在Jenkinsfile阶段也在容器上运行,我创建了用于测试和部署在服务器API上,并使用docker作为容器 我也使用docker-compose在docker上运行

  • 我最近几天的问题是,我正在尝试加密我的一些项目,我正在工作。由于Docker对我来说是一个很好的解决方案(如果它在本地运行,它将在远程运行),据我所知,我得到了3层可以实现我的ssl证书。第一层是实例或虚拟机(在我的例子中是本地的,aws或Google)。第二层是Docker守护进程(充当服务器或所有运行容器的管理器),最后一层是运行在jdk-alpine环境(可能是tomcat服务器)上的spr

  • 我需要在2个或更多带有HTTPS的端口上运行同一台服务器。在早期的生产中,我们为服务配置了端口10500。目前,我们需要在启用SSL的情况下在443和10500上运行它。 java.lang.IllegalArgumentException:在方法名[0x160x030X010X010X000X010XFC0x030X030X810X00AC0x1B0x10`0xB80X8D0xAE0x9E0xE

  • 问题内容: 借助Android 4.4 KitKat,Google将linux内核升级到3.8版,这是Docker所需的内核版本。 我不知道AUFS部分,但是有没有办法通过此更新在android上运行docker容器? 问题答案: 根据文档,Android内核缺少LXC所需的很多内核功能。 也许将来使用Docker 1.x,可能会编写一个使用Android功能而非LXC的插件。但就目前而言,您需要

  • 问题内容: 我有Jenkins作业的阶段,可以使用docker测试和部署我的nodejs,我在端口3000上运行docker,但是当我尝试浏览我的docker时,它不起作用,并且我的docker没有运行 这是我的Jenkinsfile Dockerfile: 我在ubuntu服务器上通过docker- compose运行Jenkins,是我丢失还是出错了?因为我的目标是使用Jenkins来测试我的

  • 注:如果你不喜欢使用sudo,你可以查看这里非root用户运行 这里有一个例子,使用数据卷在两个CouchDb之间共享相同的数据容器,这个可以用于热升级,测试不同版本的CouchDB数据等等。 创建第一个数据库 现在我们创建/var/lib/couchdb作为数据卷 COUCH1=$(sudo docker run -d -p 5984 -v /var/lib/couchdb shykes/cou