Let's update from 3.8 to 3.9
FROM alpine:3.9
RUN addgroup -g 1000 app \
&& adduser -u 1000 -D -G app app
Build it again
$ docker build -t alpine-app .
Sending build context to Docker daemon 69.12kB
Step 1/2 : FROM alpine:3.9
3.9: Pulling from library/alpine
6c40cc604d8e: Already exists
Digest: sha256:b3dbf31b77fd99d9c08f780ce6f5282aba076d70a513a8be859d8d3a4d0c92b8
Status: Downloaded newer image for alpine:3.9
---> caf27325b298
Step 2/2 : RUN addgroup -g 1000 app && adduser -u 1000 -D -G app app
---> Running in befd229d9bd0
Removing intermediate container befd229d9bd0
---> 82b3a9830051
Successfully built 82b3a9830051
Successfully tagged alpine-app:latest
Run the tests
$ docker run --rm -d alpine-app sleep 60
e4c39de86c0b4e81965c75488c57c1037e2cf00e44664689a95143b72789ad50
$ docker run --rm -t -v "$(pwd)/test:/tests" -v /var/run/docker.sock:/var/run/docker.sock:ro renatomefi/docker-testinfra:1 -v --hosts="docker://e4c39de86c0b4e81965c75488c57c1037e2cf00e
44664689a95143b72789ad50"
output is
============== FAILURES ===================================================================
test_userPresent[docker://e4c39de86c0b4e81965c75488c57c1037e2cf00e44664689a95143b72789ad50]
host = <testinfra.host.Host object at 0x7f83a1733b90>
def test_userPresent(host):
userName = 'app'
groupName = 'app'
homeDir = '/home/app'
shell = '/sbin/halt'
usr = host.user(userName)
assert userName in usr.name
assert groupName in usr.group
assert homeDir in usr.home
> assert shell in usr.shell
E AssertionError: assert '/sbin/halt' in '/bin/ash'
E + where '/bin/ash' = <user app>.shell
test_user.py:12: AssertionError
============== 1 failed in 0.72 seconds ====================================================