dockerfile 和 kubernetes 作业(需要帮助)
dockerfile and kubernetes jobs ( assistance needed)
我有我的 docker 文件,我在其中使用了 postgres:12 图像,我使用一些 ddl 脚本修改了它,然后我构建了这个图像,我可以通过 运行 容器docker 运行 命令,但我如何使用 Kubernetes 作业来 运行 构建图像,因为我对 k8s 没有很好的经验。
这是我的docker文件,你可以在这里看到它。
docker build . -t dockerdb
FROM postgres:12
ENV POSTGRES_PASSWORD xyz@123123!233
ENV POSTGRES_DB test
ENV POSTGRES_USER test
COPY ./Scripts /docker-entrypoint-initdb.d/
我如何使用以下要求自定义以下代码
apiVersion: batch/v1
kind: Job
metadata:
name: job-1
spec:
template:
metadata:
name: job-1
spec:
containers:
- name: postgres
image: gcr.io/project/pg_12:dev
command:
- /bin/sh
- -c
- "not sure what command should i give in last line"
不确定 运行 如何处理 docker 图片
如果您运行在不通过任何命令的情况下运行设置您的docker图像,您可以直接运行作业中的图像。
docker run <imagename>
一旦您的 Dockerimage 准备就绪并构建,您就可以 运行 直接
您的作业将在不传递任何命令的情况下执行
apiVersion: batch/v1
kind: Job
metadata:
name: job-1
spec:
template:
metadata:
name: job-1
spec:
containers:
- name: postgres
image: gcr.io/project/pg_12:dev
如果您想传递任何可以进一步传递的参数或命令
apiVersion: batch/v1
kind: CronJob
metadata:
name: hello
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: <CHANGE IMAGE URL>
imagePullPolicy: IfNotPresent
command:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: OnFailure
只是更新上面的模板是针对 Cronjob,Cronjob 运行 在特定时间。
我有我的 docker 文件,我在其中使用了 postgres:12 图像,我使用一些 ddl 脚本修改了它,然后我构建了这个图像,我可以通过 运行 容器docker 运行 命令,但我如何使用 Kubernetes 作业来 运行 构建图像,因为我对 k8s 没有很好的经验。
这是我的docker文件,你可以在这里看到它。
docker build . -t dockerdb
FROM postgres:12
ENV POSTGRES_PASSWORD xyz@123123!233
ENV POSTGRES_DB test
ENV POSTGRES_USER test
COPY ./Scripts /docker-entrypoint-initdb.d/
我如何使用以下要求自定义以下代码
apiVersion: batch/v1
kind: Job
metadata:
name: job-1
spec:
template:
metadata:
name: job-1
spec:
containers:
- name: postgres
image: gcr.io/project/pg_12:dev
command:
- /bin/sh
- -c
- "not sure what command should i give in last line"
不确定 运行 如何处理 docker 图片
如果您运行在不通过任何命令的情况下运行设置您的docker图像,您可以直接运行作业中的图像。
docker run <imagename>
一旦您的 Dockerimage 准备就绪并构建,您就可以 运行 直接
您的作业将在不传递任何命令的情况下执行
apiVersion: batch/v1
kind: Job
metadata:
name: job-1
spec:
template:
metadata:
name: job-1
spec:
containers:
- name: postgres
image: gcr.io/project/pg_12:dev
如果您想传递任何可以进一步传递的参数或命令
apiVersion: batch/v1
kind: CronJob
metadata:
name: hello
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: <CHANGE IMAGE URL>
imagePullPolicy: IfNotPresent
command:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: OnFailure
只是更新上面的模板是针对 Cronjob,Cronjob 运行 在特定时间。