top

Package dockerfile is the evaluation step in the Dockerfile parse/evaluate pipeline.

It incorporates a dispatch table based on the parser.Node values (see the parser package for more information) that are yielded from the parser itself. Calling NewBuilder with the BuildOpts struct can be used to customize the experience for execution purposes only. Parsing is controlled in the parser package, and this division of responsibility should be respected.

Please see the jump table targets for the actual invocations, most of which will call out to the functions in internals.go to deal with their tasks.

ONBUILD is a special case, which is covered in the onbuild() func in dispatchers.go.

The evaluator uses the concept of "steps", which are usually each processable line in the Dockerfile. Each step is numbered and certain actions are taken before and after each step, such as creating an image ID and removing temporary containers and images. Note that ONBUILD creates a kinda-sorta "sub run" which includes its own set of steps (usually only one of them).

Imported by 296 package(s)

  1. github.com/0xAX/docker/daemon
  2. github.com/45cali/docker/daemon
  3. github.com/Abbeychenxi/docker/api/server/router/local
  4. github.com/AkihiroSuda/docker/daemon
  5. github.com/Aorjoa/docker-arm/api/server/router/image
  6. github.com/BenHall/docker/daemon
  7. github.com/BrianBland/docker/api/server/router/build
  8. github.com/BrianBland/docker/api/server/router/local
  9. github.com/BrickXu/docker/daemon
  10. github.com/BrickXu/hyper/server/router/build
  11. github.com/BrickXu/hyper/server/router/container
  12. github.com/BrickXu/hyper/server/router/local
  13. github.com/Collinux/docker/api/server/router/build
  14. github.com/Collinux/docker/api/server/router/local
  15. github.com/DieterReuter/docker/cmd/dockerd
  16. github.com/DieterReuter/docker/daemon
  17. github.com/FillZpp/docker/cmd/dockerd
  18. github.com/FillZpp/docker/daemon
  19. github.com/Gnouc/docker/daemon
  20. github.com/HewlettPackard/docker/daemon
  21. github.com/HideoYamauchi/docker/daemon
  22. github.com/HuKeping/docker/daemon
  23. github.com/IanLewis/docker/api/server
  24. github.com/IanLewis/docker/api/server/router/local
  25. github.com/JacobHayes/docker/daemon
  26. github.com/JacobHayes/docker/docker
  27. github.com/JetMuffin/docker/daemon
  28. github.com/Ketouem/docker/api/server
  29. github.com/Ketouem/docker/api/server/router/image
  30. github.com/LarsFronius/docker/daemon
  31. github.com/MatejLach/docker/api/server/router/local
  32. github.com/Morsicus/docker/daemon
  33. github.com/Mukaram/docker/api/server/router/local
  34. github.com/Munsy/docker/daemon
  35. github.com/Open-I-Beam/docker/api/server/router/local
  36. github.com/Oscarzhao/docker/cmd/dockerd
  37. github.com/Oscarzhao/docker/daemon
  38. github.com/PI-Victor/docker/daemon
  39. github.com/Perlmint/docker/api/server/router/local
  40. github.com/Random-Liu/docker/daemon
  41. github.com/RobinGeuze/docker/daemon
  42. github.com/SUSE/docker.mirror/daemon
  43. github.com/Skarlso/docker/api/server/router/local
  44. github.com/SvenDowideit/docker/daemon
  45. github.com/Test-Betta-Inc/docker/daemon
  46. github.com/Treeptik/docker/daemon
  47. github.com/VonC/docker/api/server/router/build
  48. github.com/VonC/docker/api/server/router/local
  49. github.com/WeiZhang555/docker/daemon
  50. github.com/abhinavdahiya/docker/daemon
  51. github.com/abronan/docker/cmd/dockerd
  52. github.com/abronan/docker/daemon
  53. github.com/absourdnoise/docker/daemon
  54. github.com/achanda/docker/daemon
  55. github.com/aclisp/docker/api/server/router/build
  56. github.com/aclisp/docker/api/server/router/local
  57. github.com/adnaan/docker/daemon
  58. github.com/aidanhs/docker/api/server/router/image
  59. github.com/ailispaw/docker/api/server/router/image
  60. github.com/aishraj/docker/api/server/router/local
  61. github.com/aksentyev/docker/daemon
  62. github.com/alertisme/docker/api/server/router/build
  63. github.com/alertisme/docker/api/server/router/local
  64. github.com/alexblanquart/docker/daemon
  65. github.com/allencloud/docker/daemon
  66. github.com/andrewzeneski/docker/daemon
  67. github.com/arvinkulagin/docker/daemon
  68. github.com/asbjornenge/docker/daemon
  69. github.com/ashb/docker/daemon
  70. github.com/aulanov/docker/api/server/router/local
  71. github.com/awakenetworks/docker/daemon
  72. github.com/bamarni/docker/daemon
  73. github.com/benizi/docker/daemon
  74. github.com/bluebreezecf/docker/cmd/dockerd
  75. github.com/bluebreezecf/docker/daemon
  76. github.com/boynux/docker/daemon
  77. github.com/brahmaroutu/docker/cmd/dockerd
  78. github.com/brahmaroutu/docker/daemon
  79. github.com/carbonblack/docker/daemon
  80. github.com/cg-/docker/daemon
  81. github.com/cgt212/docker/daemon
  82. github.com/chosenken/docker/daemon
  83. github.com/chrisbbe/docker/daemon
  84. github.com/christianwoehrle/docker/daemon
  85. github.com/cirias/docker/daemon
  86. github.com/citysir/docker/daemon
  87. github.com/ckeyer/docker/api/server/router/image
  88. github.com/contiv/docker/api/server/router/image
  89. github.com/cpuguy83/docker/daemon
  90. github.com/cr7pt0gr4ph7/docker/daemon
  91. github.com/crosbymichael/docker/daemon
  92. github.com/cwandrews/docker/api/server/router/local
  93. github.com/cyphar/docker/daemon
  94. github.com/damirazo/docker/api/server/router/local
  95. github.com/darrellpratt/docker/daemon
  96. github.com/datawolf/docker/api/server/router/local
  97. github.com/daxzhuo/docker/api/server/router/image
  98. github.com/denverdino/docker/daemon
  99. github.com/dieterreuter/docker/daemon
  100. github.com/dinever/docker/daemon
  101. github.com/dlespiau/docker/daemon
  102. github.com/dmcgowan/docker/daemon
  103. github.com/dnephin/docker/daemon
  104. github.com/docker/docker/cmd/dockerd
  105. github.com/docker/docker/daemon
  106. github.com/dolftax/docker/daemon
  107. github.com/donnie4w/docker/daemon
  108. github.com/dotcloud/docker/daemon
  109. github.com/duglin/docker/daemon
  110. github.com/e2tox/docker/api/server/router/build
  111. github.com/e2tox/docker/api/server/router/local
  112. github.com/ehazlett/docker/daemon
  113. github.com/endophage/docker/daemon
  114. github.com/erikstmartin/docker/cmd/dockerd
  115. github.com/erikstmartin/docker/daemon
  116. github.com/estesp/docker/daemon
  117. github.com/faizalpribadi/docker/api/server/router/build
  118. github.com/faizalpribadi/docker/api/server/router/local
  119. github.com/fanux/docker/daemon
  120. github.com/flavio/docker/api/server/router/build
  121. github.com/flavio/docker/api/server/router/local
  122. github.com/fntlnz/docker/daemon
  123. github.com/fntlnz/docker/docker
  124. github.com/fsouza/docker/api/server/router/build
  125. github.com/fsouza/docker/api/server/router/local
  126. github.com/gambol99/docker/daemon
  127. github.com/gao-feng/hyper-public/server/router/build
  128. github.com/gao-feng/hyper-public/server/router/container
  129. github.com/gao-feng/hyper-public/server/router/local
  130. github.com/gaocegege/docker/daemon
  131. github.com/gdm85/docker/api/server/router/image
  132. github.com/goern/docker/api/server/router/local
  133. github.com/gondor/docker/daemon
  134. github.com/grantseltzer/docker/daemon
  135. github.com/hairyhenderson/docker/daemon
  136. github.com/hamo/docker/daemon
  137. github.com/hare85/docker/api/server/router/image
  138. github.com/heidsoft/docker/daemon
  139. github.com/heidsoft/docker/docker
  140. github.com/henvic/docker/daemon
  141. github.com/hfm/docker/daemon
  142. github.com/honsty/docker/daemon
  143. github.com/hurricane1026/docker/api/server/router/build
  144. github.com/hurricane1026/docker/api/server/router/local
  145. github.com/hustcat/docker/api/server/router/image
  146. github.com/hyperhq/hyper/server/router/build
  147. github.com/hyperhq/hyper/server/router/container
  148. github.com/hyperhq/hyper/server/router/local
  149. github.com/hyperhq/hyperd/server/router/build
  150. github.com/hyperhq/hyperd/server/router/container
  151. github.com/hyperhq/hyperd/server/router/local
  152. github.com/hypriot/docker/daemon
  153. github.com/icecrime/docker/api/server/router/image
  154. github.com/ilgooz/docker/api/server/router/build
  155. github.com/ilgooz/docker/api/server/router/local
  156. github.com/ilkka/docker/daemon
  157. github.com/imormo/docker/daemon
  158. github.com/inercia/docker/daemon
  159. github.com/intelsdi-x/docker/api/server/router/local
  160. github.com/intoxicated/docker/daemon
  161. github.com/jainvipin/docker/daemon
  162. github.com/jannickfahlbusch/docker/daemon
  163. github.com/jawher/docker/api/server/router/build
  164. github.com/jawher/docker/api/server/router/local
  165. github.com/jeromedoucet/docker/daemon
  166. github.com/jessfraz/docker/daemon
  167. github.com/jfrazelle/docker/daemon
  168. github.com/jheiss/docker/api/server/router/local
  169. github.com/jlhawn/docker/daemon
  170. github.com/joeygibson/docker/daemon
  171. github.com/johnt337/docker/daemon
  172. github.com/jsoriano/docker/daemon
  173. github.com/juliengk/docker/api/server/router/local
  174. github.com/juliusv/docker/api/server/router/local
  175. github.com/jwhonce/docker/daemon
  176. github.com/kaanosman/docker/daemon
  177. github.com/kaanosman/docker/docker
  178. github.com/kakilangit/docker-engine/daemon
  179. github.com/kasisnu/docker/daemon
  180. github.com/kdomanski/docker/api/server/router/local
  181. github.com/kencochrane/docker/daemon
  182. github.com/kevinjqiu/docker/daemon
  183. github.com/kevinkucharczyk/docker/api/server/router/local
  184. github.com/kim0/docker/daemon
  185. github.com/kobeld/docker/daemon
  186. github.com/kolyshkin/docker/daemon
  187. github.com/kouhin/docker/daemon
  188. github.com/kwk/docker/api/server/router/local
  189. github.com/kylemcc/docker/daemon
  190. github.com/lai-nam/docker/daemon
  191. github.com/lchi/docker/daemon
  192. github.com/liufuqiang/docker/api/server/router/local
  193. github.com/lxfontes/docker/daemon
  194. github.com/machinaut/docker/daemon
  195. github.com/maddyonline/docker/api/server/router/build
  196. github.com/maddyonline/docker/api/server/router/local
  197. github.com/maiconio/docker/daemon
  198. github.com/mattyb/docker/daemon
  199. github.com/mattyr/docker/daemon
  200. github.com/mcuadros/docker/daemon
  201. github.com/mesos-utility/docker/cmd/dockerd
  202. github.com/mesos-utility/docker/daemon
  203. github.com/mgazz/docker/daemon
  204. github.com/mgilbir/docker/daemon
  205. github.com/mgoelzer/docker/daemon
  206. github.com/movicha/docker/daemon
  207. github.com/movicha/docker/docker
  208. github.com/mtrmac/docker/daemon
  209. github.com/munsy/docker/daemon
  210. github.com/mvader/docker/daemon
  211. github.com/mybruce/docker/api/server/router/build
  212. github.com/mybruce/docker/api/server/router/local
  213. github.com/n4ss/docker/api/server/router/local
  214. github.com/nak3/docker/daemon
  215. github.com/nalind/docker/daemon
  216. github.com/nguyentm83/docker/daemon
  217. github.com/noxiouz/docker/daemon
  218. github.com/ojongerius/docker/daemon
  219. github.com/oscarzhao/docker/daemon
  220. github.com/pandrew/docker/api/server
  221. github.com/pandrew/docker/api/server/router/local
  222. github.com/pcarrier/docker/api/server/router/build
  223. github.com/pcarrier/docker/api/server/router/local
  224. github.com/pdxjohnny/docker/api/server/router/image
  225. github.com/pedronasser/docker/daemon
  226. github.com/philips/docker/api/server/router/image
  227. github.com/pietv/docker/daemon
  228. github.com/projectatomic/docker/daemon
  229. github.com/public0821/docker/daemon
  230. github.com/pyinx/docker/daemon
  231. github.com/qianxiangshan/docker/daemon
  232. github.com/random-liu/docker/daemon
  233. github.com/ray0807/docker/api/server/router/local
  234. github.com/reAsOn2010/docker/daemon
  235. github.com/reAsOn2010/docker/docker
  236. github.com/reds/docker/daemon
  237. github.com/rhatdan/docker/cmd/dockerd
  238. github.com/rhatdan/docker/daemon
  239. github.com/rhcarvalho/docker/daemon
  240. github.com/rtuin/docker/daemon
  241. github.com/runcom/docker/daemon
  242. github.com/s-matyukevich/docker/daemon
  243. github.com/s7v7nislands/docker/api/server/router/local
  244. github.com/sandlbn/docker/daemon
  245. github.com/satanson/docker/daemon
  246. github.com/sdurrheimer/docker/daemon
  247. github.com/shenoyvvarun/docker/daemon
  248. github.com/shin-/docker/daemon
  249. github.com/shishir-a412ed/docker/daemon
  250. github.com/shubhodeep9/docker/daemon
  251. github.com/skyjia/docker/daemon
  252. github.com/slimsag/docker/daemon
  253. github.com/smo921/docker-fork/daemon
  254. github.com/softlns/docker/daemon
  255. github.com/sorawa/docker/daemon
  256. github.com/stapelberg/docker/api/server/router/image
  257. github.com/stevvooe/docker/daemon
  258. github.com/suker200/docker/daemon
  259. github.com/superryanguo/docker/daemon
  260. github.com/superryanguo/hyperd/server/router/build
  261. github.com/superryanguo/hyperd/server/router/container
  262. github.com/superryanguo/hyperd/server/router/local
  263. github.com/takecy/docker/daemon
  264. github.com/tanji/docker/daemon
  265. github.com/tetrafolium/docker/daemon
  266. github.com/tianon/docker/api/server/router/local
  267. github.com/tiborvass/docker/api/server
  268. github.com/tiborvass/docker/api/server/router/image
  269. github.com/tkopczynski/docker/daemon
  270. github.com/tomasen/docker/api/server/router/local
  271. github.com/tomkadwill/docker/daemon
  272. github.com/tompao/docker/daemon
  273. github.com/trayo/docker/cmd/dockerd
  274. github.com/trayo/docker/daemon
  275. github.com/umerazad/docker/daemon
  276. github.com/unclejack/docker/api/server/router/local
  277. github.com/unclejack/docker/daemon
  278. github.com/upccup/docker/daemon
  279. github.com/vdemeester/docker/daemon
  280. github.com/vieux/docker/daemon
  281. github.com/vincentbernat/docker/api/server/router/local
  282. github.com/wallyqs/docker/daemon
  283. github.com/weaveworks/docker/daemon
  284. github.com/willmtemple/docker/daemon
  285. github.com/wolf/docker/daemon
  286. github.com/wzhliang/docker/daemon
  287. github.com/xianlubird/docker/daemon
  288. github.com/xmwilldo/docker/daemon
  289. github.com/xtaci/docker/daemon
  290. github.com/yosifkit/docker/cmd/dockerd
  291. github.com/yosifkit/docker/daemon
  292. github.com/yp-engineering/docker/daemon
  293. github.com/ywk253100/docker/daemon
  294. gopkg.in/docker/docker.v1/api/server/router/local
  295. gopkg.in/docker/docker.v1/daemon
  296. gopkg.in/dotcloud/docker.v1/daemon

Imports 25 package(s)

  1. github.com/docker/docker/pkg/progress
  2. github.com/docker/go-connections/nat
  3. github.com/docker/docker/api
  4. github.com/docker/docker/pkg/jsonmessage
  5. github.com/Sirupsen/logrus
  6. github.com/docker/docker/api/types/strslice
  7. github.com/docker/docker/builder
  8. github.com/docker/docker/builder/dockerfile/parser
  9. github.com/docker/docker/builder/dockerfile/command
  10. github.com/docker/docker/pkg/system
  11. github.com/docker/docker/pkg/tarsum
  12. github.com/docker/docker/reference
  13. github.com/docker/docker/runconfig/opts
  14. github.com/docker/docker/pkg/httputils
  15. github.com/docker/docker/pkg/archive
  16. github.com/docker/docker/api/types/backend
  17. github.com/docker/docker/pkg/stringid
  18. github.com/docker/docker/image
  19. github.com/docker/docker/pkg/signal
  20. github.com/docker/docker/api/types
  21. github.com/docker/docker/pkg/ioutils
  22. golang.org/x/net/context
  23. github.com/docker/docker/api/types/container
  24. github.com/docker/docker/pkg/streamformatter
  25. github.com/docker/docker/pkg/urlutil

Test imports 1 package(s)

  1. github.com/docker/docker/pkg/reexec