Cannot run bash within docker:dind

I would like to prepare a gitlab-ci-runner for running Android CI and CD pipeline. To do so I prepare a Docker container with Android SDK but all my gradle scripts were failed with:

$ ./gradlew properties
env: can't execute 'bash': No such file or directory

During my investigation I found out, that it is an issue with cannot run some commands, because they are not available. This is more weird, 'cause when I am running this image on my local computer, everything works.

So I prepared a simple Dockerfile to do a quicker tests:

FROM ubuntu:16.04

RUN apt-get -qq update && \
    apt-get install -qqy --no-install-recommends \
      curl \
      git \
      html2text \
      openjdk-8-jdk \
      libc6-i386 \
      lib32stdc++6 \
      lib32gcc1 \
      lib32ncurses5 \
      lib32z1 \
      unzip \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN ln -s /bin/bash /usr/local/bin/bash

WORKDIR /home/workdir

VOLUME ["/home/workdir"]

CMD ["/bin/bash"]

as well as simplified .gitlab-ci.yml - using docker:dind due to the fact that my Docker image is stored in my private Docker Gitlab registry:

image: docker:latest
services:
- docker:dind

stages:
  - check
#  - build
#  - test
#  - deploy

variables:
  CONTAINER_RELEASE_IMAGE: registry.gitlab.com/xxxxxxx/gitlab-android-runner:small

before_script:
  - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com
  - docker pull $CONTAINER_RELEASE_IMAGE
  - docker run --name gitlab-android-runner -d -i -v $PWD:/home/workdir $CONTAINER_RELEASE_IMAGE
  - docker exec -i gitlab-android-runner bash

after_script:
  - docker rm -f -v gitlab-android-runner

check:
  stage: check
  script:
    - env
    - echo $PATH
    - ls /bin
    - whereis env
    - ls -al /usr/bin/env
    - whereis bash
    - ls -al /bin/bash
    - /usr/bin/env ls
  environment: check

but also this configuration leads to error:

Running with gitlab-ci-multi-runner 1.6.0 (01b3ea1)
WARNING: environment is not supported by selected executor and shell
Using Docker executor with image docker:latest ...
Pulling docker image docker:dind ...
Starting service docker:dind ...
Waiting for services to be up and running...
Pulling docker image docker:latest ...
Running on runner-xxx
Cloning repository...
Cloning into '/builds/xxx/xxxx...
Checking out xxxx as xxx...
$ docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com
Login Succeeded
$ docker pull $CONTAINER_RELEASE_IMAGE
small: Pulling from xxxx/gitlab-android-runner
xxxxxx: Pulling fs layer
[...]
xxxxxx: Pull complete
Digest: sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Status: Downloaded newer image for registry.gitlab.com/xxxx/gitlab-android-runner:small
$ docker run --name gitlab-android-runner -d -i -v $PWD:/home/workdir $CONTAINER_RELEASE_IMAGE
920d62c251de911dd41ebb28342fe5306db832c3a8886f155ea43f02299dc155
$ docker exec -i gitlab-android-runner bash
$ env
[...]
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[]...
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$ ls /bin
ash
base64
bbconfig
busybox
cat
catv
chgrp
chmod
chown
conspy
cp
cpio
date
[...]
ps
pwd
reformime
rev
rm
rmdir
run-parts
sed
setserial
sh
sleep
stat
stty
su
sync
tar
touch
true
umount
uname
usleep
watch
zcat
$ whereis env
/bin/sh: eval: line 56: whereis: not found
Running after script...
$ docker rm -f -v gitlab-android-runner
gitlab-android-runner
ERROR: Build failed: exit code 127

So I cannot run neither bash nor even whereis command.

Any ideas?