DOCKER COPY 未反映在容器中
DOCKER COPY not reflected in container
Dockerfile 不会从 gitlab 目录复制文件。下面是 dockerfile,
FROM docker.elastic.co/logstash/logstash:7.16.3
USER root
RUN yum install -y curl dos2unix
COPY scripts/somefile.sh /src/app/
RUN dos2unix /src/app/somefile.sh
WORKDIR /src/app/
ENTRYPOINT ["/src/app/somefile.sh"]
项目树如下所示,
C:.
├───.idea
│ └───codeStyles
├───deployment
│ ├───dev
└───scripts
│ ├───somefile.sh
下面是deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: demo-app
name: demo-app
namespace: --
spec:
replicas: 1
selector:
matchLabels:
app: demo-app
template:
metadata:
labels:
app: demo-app
spec:
containers:
- image: docker-image-described
name: demo-app
resources: ...
volumeMounts:
- name: some-secret
mountPath: /src/abc/secret
readOnly: true
securityContext:
privileged: true
restartPolicy: Always
volumes:
- name: very-secret
secret:
secretName: some-secret
此外,使用 gitlab-ci 文件构建图像。然后使用此图像创建部署。请帮助我理解我做错了什么,因为当我在 运行 pod 中执行时,我无法在定义的目标位置看到该文件。
我没有收到任何错误,如果出现关于错误源位置的错误,我通常会这样做。我也确实经历了一些更多类似的问题,所以我已经检查过 EOL 是 Unix。
此外,我想补充一些意见,
- 我也不能用
RUN mkdir -p /src/app/scripts/
创建目录 这也运行没有任何错误,只是没有
反映在吊舱内。
这可能是由于使用了旧的(错误的)docker 图片,因此未反映更改或更新。
如果镜像已经存在且镜像标签不是“最新的”,Kubernetes 不会拉取新的镜像版本。通过拉取镜像并使用 docker 在本地 运行 验证镜像是否正确构建。使用不同的标签强制 kubernetes 拉取镜像。
Dockerfile 不会从 gitlab 目录复制文件。下面是 dockerfile,
FROM docker.elastic.co/logstash/logstash:7.16.3
USER root
RUN yum install -y curl dos2unix
COPY scripts/somefile.sh /src/app/
RUN dos2unix /src/app/somefile.sh
WORKDIR /src/app/
ENTRYPOINT ["/src/app/somefile.sh"]
项目树如下所示,
C:.
├───.idea
│ └───codeStyles
├───deployment
│ ├───dev
└───scripts
│ ├───somefile.sh
下面是deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: demo-app
name: demo-app
namespace: --
spec:
replicas: 1
selector:
matchLabels:
app: demo-app
template:
metadata:
labels:
app: demo-app
spec:
containers:
- image: docker-image-described
name: demo-app
resources: ...
volumeMounts:
- name: some-secret
mountPath: /src/abc/secret
readOnly: true
securityContext:
privileged: true
restartPolicy: Always
volumes:
- name: very-secret
secret:
secretName: some-secret
此外,使用 gitlab-ci 文件构建图像。然后使用此图像创建部署。请帮助我理解我做错了什么,因为当我在 运行 pod 中执行时,我无法在定义的目标位置看到该文件。
我没有收到任何错误,如果出现关于错误源位置的错误,我通常会这样做。我也确实经历了一些更多类似的问题,所以我已经检查过 EOL 是 Unix。
此外,我想补充一些意见,
- 我也不能用
RUN mkdir -p /src/app/scripts/
创建目录 这也运行没有任何错误,只是没有 反映在吊舱内。
这可能是由于使用了旧的(错误的)docker 图片,因此未反映更改或更新。
如果镜像已经存在且镜像标签不是“最新的”,Kubernetes 不会拉取新的镜像版本。通过拉取镜像并使用 docker 在本地 运行 验证镜像是否正确构建。使用不同的标签强制 kubernetes 拉取镜像。