Dockerfile 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. #基础镜像
  2. FROM openjdk:17
  3. #容器内根:/mnt
  4. WORKDIR /mnt
  5. #解决中文乱码问题
  6. ENV LANG C.UTF-8
  7. ENV LANGUAGE zh_CN.UTF-8
  8. ENV LC_ALL C.UTF-8
  9. ENV TZ Asia/Shanghai
  10. #指定jvm运行参数(提供默认值-按照物理3G计算)
  11. ENV JAVA_OPTS="-Xmx2048M -Xms2048M -Xmn768M -XX:MaxMetaspaceSize=256M -XX:MetaspaceSize=256M"
  12. #指定环境(prod-生产,dev-开发)
  13. ENV APP_ACTIVE="prod"
  14. #指定配置项(预留)
  15. ENV BOOT_CONFIG=""
  16. #卷目录(关联日志配置log4j2-prod.xml,关联存储配置application-prod.yml)
  17. VOLUME ['/mnt/app_logs','/mnt/app_storage','/mnt/app_jars']
  18. #暴露容器端口为8080
  19. EXPOSE 8080
  20. #容器启动时执行的命令
  21. ENTRYPOINT nohup java -server ${JAVA_OPTS} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=${APP_ACTIVE} -jar /mnt/app_jars/kirin.jar ${BOOT_CONFIG}
  22. #docker inspect,这段信息别动
  23. #[
  24. # {
  25. # "Id": "sha256:fd2772d5af9a3e60fe8b0a5c8ff16e5dc59ff5033705a9919ee59bf663aae5c7",
  26. # "RepoTags": [
  27. # "gift_app:v1"
  28. # ],
  29. # "RepoDigests": [],
  30. # "Parent": "",
  31. # "Comment": "buildkit.dockerfile.v0",
  32. # "Created": "2023-06-27T14:10:10.057222675+08:00",
  33. # "Container": "",
  34. # "ContainerConfig": {
  35. # "Hostname": "",
  36. # "Domainname": "",
  37. # "User": "",
  38. # "AttachStdin": false,
  39. # "AttachStdout": false,
  40. # "AttachStderr": false,
  41. # "Tty": false,
  42. # "OpenStdin": false,
  43. # "StdinOnce": false,
  44. # "Env": null,
  45. # "Cmd": null,
  46. # "Image": "",
  47. # "Volumes": null,
  48. # "WorkingDir": "",
  49. # "Entrypoint": null,
  50. # "OnBuild": null,
  51. # "Labels": null
  52. # },
  53. # "DockerVersion": "",
  54. # "Author": "qima",
  55. # "Config": {
  56. # "Hostname": "",
  57. # "Domainname": "",
  58. # "User": "",
  59. # "AttachStdin": false,
  60. # "AttachStdout": false,
  61. # "AttachStderr": false,
  62. # "ExposedPorts": {
  63. # "8080/tcp": {}
  64. # },
  65. # "Tty": false,
  66. # "OpenStdin": false,
  67. # "StdinOnce": false,
  68. # "Env": [
  69. # "PATH=/usr/java/openjdk-17/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
  70. # "JAVA_HOME=/usr/java/openjdk-17",
  71. # "LANG=C.UTF-8",
  72. # "JAVA_VERSION=17.0.2",
  73. # "LANGUAGE=zh_CN.UTF-8",
  74. # "LC_ALL=C.UTF-8",
  75. # "TZ=Asia/Shanghai",
  76. # "JAVA_OPTS=-Xmx2048M -Xms2048M -Xmn768M -XX:MaxMetaspaceSize=256M -XX:MetaspaceSize=256M",
  77. # "APP_ACTIVE=prod",
  78. # "BOOT_CONFIG="
  79. # ],
  80. # "Cmd": null,
  81. # "Image": "",
  82. # "Volumes": {
  83. # "[/mnt/app_logs,/mnt/app_storage]": {}
  84. # },
  85. # "WorkingDir": "/mnt",
  86. # "Entrypoint": [
  87. # "/bin/sh",
  88. # "-c",
  89. # "nohup java -server ${JAVA_OPTS} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=${APP_ACTIVE} -jar /mnt/app.jar ${BOOT_CONFIG}"
  90. # ],
  91. # "OnBuild": null,
  92. # "Labels": null
  93. # },
  94. # "Architecture": "amd64",
  95. # "Os": "linux",
  96. # "Size": 514102948,
  97. # "VirtualSize": 514102948,
  98. # "GraphDriver": {
  99. # "Data": {
  100. # "LowerDir": "/var/lib/docker/overlay2/6zo7j8n4x2pul51m4z3e3lpj8/diff:/var/lib/docker/overlay2/0c9b8ac9bc6dbb5278f4433a17310534db404f62fdbe226220a95b92577957af/diff:/var/lib/docker/overlay2/bb4e03b128b60431dbece15b0ffd0e072b7decea3d3fc7b6cea32d59b49faf26/diff:/var/lib/docker/overlay2/fc6a5268bb7a5255205b14f2f81edebb6e292e345d6eaeef365698a5188d4b41/diff",
  101. # "MergedDir": "/var/lib/docker/overlay2/lc0l37hs4kcfol4425lorsvo1/merged",
  102. # "UpperDir": "/var/lib/docker/overlay2/lc0l37hs4kcfol4425lorsvo1/diff",
  103. # "WorkDir": "/var/lib/docker/overlay2/lc0l37hs4kcfol4425lorsvo1/work"
  104. # },
  105. # "Name": "overlay2"
  106. # },
  107. # "RootFS": {
  108. # "Type": "layers",
  109. # "Layers": [
  110. # "sha256:c8dd97366670ed499701572c321fb87ef4f9287308536563a8f1e3fd39ff2166",
  111. # "sha256:27ee19dc88f2661d3e42161a9b0b5f4c59089269ee71c9f212c71139ea9edf52",
  112. # "sha256:dc9fa3d8b576eada8a4f97ca296d0db470ea7342d544e7e2f3c42715d20c2798",
  113. # "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
  114. # "sha256:441e155b4ffda31c75b6dedcdda7859a04c3096346fed4ed4ca7552cbbce7d94"
  115. # ]
  116. # },
  117. # "Metadata": {
  118. # "LastTagTime": "2023-06-27T14:10:10.250446336+08:00"
  119. # }
  120. # }
  121. #]