mirror of
https://github.com/marcel-dempers/docker-development-youtube-series.git
synced 2025-06-04 16:56:56 +00:00
deno code
This commit is contained in:
parent
f0c8be9554
commit
dbacbffe7b
13
deno/deno-multistage.dockerfile
Normal file
13
deno/deno-multistage.dockerfile
Normal file
@ -0,0 +1,13 @@
|
||||
FROM aimvector/deno:1.0.0-buster-slim as build
|
||||
|
||||
COPY ./src/ $DENO_DIR
|
||||
|
||||
RUN mkdir /out/
|
||||
RUN deno bundle /deno-dir/server.js /out/server.js
|
||||
|
||||
FROM aimvector/deno:1.0.0-buster-slim as final
|
||||
|
||||
COPY --from=build /out/server.js /deno-dir/server.js
|
||||
|
||||
ENTRYPOINT ["deno"]
|
||||
CMD ["run", "--allow-net", "/deno-dir/server.js"]
|
25
deno/deno.dockerfile
Normal file
25
deno/deno.dockerfile
Normal file
@ -0,0 +1,25 @@
|
||||
FROM debian:buster-slim
|
||||
|
||||
ENV DENO_VERSION=1.0.0
|
||||
|
||||
RUN apt-get -qq update \
|
||||
&& apt-get -qq install -y --no-install-recommends curl ca-certificates unzip \
|
||||
&& curl -fsSL https://github.com/denoland/deno/releases/download/v${DENO_VERSION}/deno-x86_64-unknown-linux-gnu.zip \
|
||||
--output deno.zip \
|
||||
&& unzip deno.zip \
|
||||
&& rm deno.zip \
|
||||
&& chmod 777 deno \
|
||||
&& mv deno /usr/bin/deno \
|
||||
&& apt-get -qq remove --purge -y curl ca-certificates unzip \
|
||||
&& apt-get -y -qq autoremove \
|
||||
&& apt-get -qq clean \
|
||||
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
RUN useradd --uid 1993 --user-group deno \
|
||||
&& mkdir /deno-dir/ \
|
||||
&& chown deno:deno /deno-dir/
|
||||
|
||||
ENV DENO_DIR /deno-dir/
|
||||
|
||||
ENTRYPOINT ["deno"]
|
||||
CMD ["run", "https://deno.land/std/examples/welcome.ts"]
|
35
deno/deployment/deployment.yaml
Normal file
35
deno/deployment/deployment.yaml
Normal file
@ -0,0 +1,35 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: example-deploy
|
||||
labels:
|
||||
app: example-app
|
||||
annotations:
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: example-app
|
||||
replicas: 2
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 1
|
||||
maxUnavailable: 0
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: example-app
|
||||
spec:
|
||||
containers:
|
||||
- name: example-app
|
||||
image: aimvector/deno-app:v1
|
||||
imagePullPolicy: Always
|
||||
ports:
|
||||
- containerPort: 5000
|
||||
resources:
|
||||
requests:
|
||||
memory: "64Mi"
|
||||
cpu: "10m"
|
||||
limits:
|
||||
memory: "256Mi"
|
||||
cpu: "500m"
|
15
deno/deployment/service.yaml
Normal file
15
deno/deployment/service.yaml
Normal file
@ -0,0 +1,15 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: example-service
|
||||
labels:
|
||||
app: example-app
|
||||
spec:
|
||||
type: LoadBalancer
|
||||
selector:
|
||||
app: example-app
|
||||
ports:
|
||||
- protocol: TCP
|
||||
name: http
|
||||
port: 80
|
||||
targetPort: 5000
|
6
deno/dockerfile
Normal file
6
deno/dockerfile
Normal file
@ -0,0 +1,6 @@
|
||||
FROM aimvector/deno:1.0.0-buster-slim as build
|
||||
|
||||
COPY ./src/ $DENO_DIR
|
||||
|
||||
ENTRYPOINT ["deno"]
|
||||
CMD ["run", "--allow-net", "/deno-dir/server.js"]
|
5
deno/src/server.js
Normal file
5
deno/src/server.js
Normal file
@ -0,0 +1,5 @@
|
||||
import { serve } from "https://deno.land/std@0.50.0/http/server.ts";
|
||||
|
||||
for await (const req of serve({ port: 5000 })) {
|
||||
req.respond({ body: "Hello World! - from Deno 1.0.0\n" });
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user