2020-04-28 17:29:52 +02:00
|
|
|
---
|
|
|
|
title: "Shell usage in dockerfile"
|
|
|
|
date: 2019-02-04
|
2021-03-11 19:47:26 +01:00
|
|
|
description: How to use a proper shell in a dockerfile
|
|
|
|
tags:
|
|
|
|
- docker
|
|
|
|
- linux
|
2020-04-28 17:29:52 +02:00
|
|
|
---
|
|
|
|
|
2021-03-11 19:47:26 +01:00
|
|
|
## The problem
|
|
|
|
|
|
|
|
The default shell is `[“/bin/sh”, “-c”]`, which doesn't handle pipe fails when chaining commands.
|
|
|
|
|
|
|
|
## The fix
|
|
|
|
|
|
|
|
To process errors when using pipes use this :
|
2020-04-28 17:29:52 +02:00
|
|
|
|
|
|
|
{{< highlight sh >}}
|
|
|
|
SHELL ["/bin/bash", "-eux", "-o", "pipefail", "-c"]
|
|
|
|
{{< /highlight >}}
|
|
|
|
|
|
|
|
## References
|
|
|
|
- https://bearstech.com/societe/blog/securiser-et-optimiser-notre-liste-des-bonnes-pratiques-liees-aux-dockerfiles/
|