企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
Dockerfile 分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。’#’ 为 Dockerfile 中的注释。先看下面一个小例子: > *一般的,dockerfile文件开发人员不需要太过关注。* ``` #制定基础镜像,必须为第一个命令 FROM anapsix/alpine-java:8_server-jre_unlimited #维护者信息 MAINTAINER deployment deployment@beree.cn #构建镜像时执行的命令,这里我们创建一个目录 RUN mkdir -p /beree/beree-urip-core #转到工作目录。类似 cd *** WORKDIR /beree/beree-urip-core #指定于外界交互的端口,比如我们再容器中启动的端口为8801,那么我们再宿主机使用localhost:801 即可以访问到容器中801端口对用的应用 EXPOSE 801 #将本地文件添加到容器中,tar类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wget ADD ./target/beree-urip-core.jar ./app.jar #配置容器,使其可执行化,相当于执行命令 java -Djava.security.egd=file:/dev/./urandom -jar app.jar 要追加任何命令可以直接在 [ ] 数组中追加任何参数,但是要保证排序正确 ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"] #构建容器后调用,也就是在容器启动时才进行调用 相当于我们给容器启动过程增加参数,--spring.profiles.active=test 参数我们一般不再这里定义,我们可以放到 docer-compose 的变量定义里 CMD ["--spring.profiles.active=test"] ``` 这里我们只针对我们常用的一些配置进行讲解,其它详细参数可以参见以下:[https://www.cnblogs.com/panwenbin-logs/p/8007348.html](https://www.cnblogs.com/panwenbin-logs/p/8007348.html)