【发布时间】:2016-10-27 09:12:59
【问题描述】:
我正在尝试使用 Nginx 在 docker 容器上托管 Swagger UI。
当我通过hostAddress.com 访问我的网页时,它会以纯文本形式返回网页并检查它告诉我它找不到任何 javascript 或 css 文件,尽管它们似乎存在于容器中,因为我有 ssh放入容器中检查。
我的码头文件
FROM nginx
COPY src /usr/share/nginx/html
COPY config/nginx.conf /etc/nginx
EXPOSE 80
nginx.config
events {
worker_connections 4096; ## Default: 1024
}
http {
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.html index.htm;
include /etc/nginx/mime.types;
location /swagger {
try_files $uri /index.html;
}
#Static File Caching. All static files with the following extension will be cached for 1 day
location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
expires 1d;
}
}
}
【问题讨论】:
-
请看看这是否有帮助,但可能是另一种选择 - github.com/ianneub/docker-swagger-ui
-
看过了,但是由于在同一台服务器上运行其他东西,我需要能够分配 /swagger 的位置,我认为这是不可能的。
-
您的意思是 url 的自定义上下文路径吗?你可以看看他的
Dockerfile,那里有你自己的,有用吗? -
所以要访问我的招摇页面,它必须通过serverURL.com/swagger 访问,从我读过的内容来看,这是通过 nginx.conf 文件实现的,所以不太确定如何从dockerfile.
-
你可以看看答案,看看是否对你有帮助。