Nag*_*hab 5 docker dockerfile kubernetes-helm
我正在为 golang 编写一个简单的 docker 文件,但我仍然熟悉 docker,所以我知道我想做什么只是不知道该怎么做:
我现在(下面)所拥有的是公开端口 8080,但我想公开端口 80 但将其转发到端口 8080。
我知道我可以通过它来完成,docker run -p但我想知道是否有一种方法可以设置它Dockerfile或其他方式。我试图找到如何通过 Helm 做到这一点。
Dockerfile:
FROM scratch
COPY auth-service /auth-service
EXPOSE 8080
CMD ["/auth-service","-logtostderr=true", "-v=-1"]
Run Code Online (Sandbox Code Playgroud)
EXPOSE通知 Docker 容器在运行时侦听指定的网络端口,但实际上并未使端口可访问。只有-p你已经提到会这样做:
docker run -p :$HOSTPORT:$CONTAINERPORT
或者你可以选择一个 docker-compose 文件,额外的文件,但也可以为你做这件事:
version: "2"
services:
my_service:
build: .
name: my_container_name
ports:
- 80:8080
.....
Run Code Online (Sandbox Code Playgroud)
编辑:
如果您使用的是 helm,则只需使用暴露的 docker 端口作为您的targetPort:
apiVersion: v1
kind: Service
metadata:
name: {{ template "fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.internalPort }} #8080
protocol: TCP
name: {{ .Values.service.name }}
selector:
app: {{ template "fullname" . }}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3449 次 |
| 最近记录: |