# 以该镜像作为基地
FROM grafana/grafana:8.4.6
# 以 root 身份进入在容器中,之后不论是构建镜像过程中还是进入docker or k8s 容器中都不会被告知权限不足
USER root
# 设置环境变量
ENV PATH $PATH:/usr/local/apps/cereb/cmdline-tools/bin/
# 指定工作目录,后面的命令都会基于这个目录来操作
WORKDIR /usr/self/img/
# 复制主机文件到镜像中,此时如果/usr/self/img/目录下有logo.svg的同名文件, 会被直接覆盖掉
COPY logo.svg /usr/self/img/
# 运行在容器中(linux 系统中)可以运行的命令,无论是系统命令还是用户命令
RUN cp logo.svg /usr/public/img/
# 对外暴露的端口
EXPOSE 8080
# 指定这个容器启动的时候要运行的命令,只有最后一个命令会生效,可以被替代
CMD [ "python", "./app.py" ]
# 指定这个容器启动的时候要运行的命令,可以追加命令
ENTRYPOINT [ "/run.sh" ]
# 注意 CMD 与 ENTRYPOINT 作用类似但有区别
Dockerfile 的个人笔记
于 2022-07-07 10:40:44 首次发布