e default action to take when running a container (image metadata)

---

# RUN, ENTRYPOINT, and CMD

- Either string or json syntax
  - String will use a shell
  - Json will use OS exec syscall
- `RUN` is executed during the build
- `ENTRYPOINT` and `CMD` modify how the container starts
  - `CMD` is easily overridden
  - `ENTRYPOINT` commonly performs initialization
  - Both: `ENTRYPOINT` run with `CMD` as args

???

- String will give you a shell: variable expansion, chaining commands, i/o redirects
- Json