可能是因为容器的网络设置或容器内部的端口配置问题所导致的。在Dockerfile中添加以下代码,将Swagger UI的端口导出到容器的映射端口。
EXPOSE 8080
在部署容器时,使用以下代码,在容器的端口8080上启动Swagger UI。
docker run -p 8080:8080 my-image
或者,在Kubernetes的部署文件中添加以下代码,将Swagger UI的端口配置为8080,并将容器的端口映射到节点的8080端口。
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 1
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: my-image
ports:
- containerPort: 8080
ports:
- containerPort: 8080
name: http
---
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- name: http
port: 8080
targetPort: 8080
type: ClusterIP
以上代码将创建一个名为“my-service”的服务,并将容器的8080端口映射到节点的8080端口。要查看Swagger UI,请使用节点的IP地址和8080端口进行访问。例如,http://node-ip:8080/swagger-ui.html。