docker compose: issue to start a container with a specific shell script

  bash, docker, docker-compose, sh, shell

I would to start a container with specific shell script using docker compose.
For example, a tomcat container starts creating the empty file /tmp/testweb

$ ls -lR 
total 8
-rw-rw-r-- 1 xxxxxx xxxxxx  223 déc.   4 19:45 docker-compose.yml
drwxrwxr-x 2 xxxxxx xxxxxx 4096 déc.   4 19:37 web

total 4
-rwxrwxr-x 1 xxxxxx xxxxxx 31 déc.   4 19:37

$ cat docker-compose.yml 
version: '3'
    container_name: web
    hostname: web
    image: "tomcat:7.0-jdk8"
      - 8080:8080
      - "./web/:/usr/local/bin/"
    command: sh -c "/usr/local/bin/"

$ cat web/ 
touch /tmp/testweb

When I execute docker-compose up

$ docker-compose up -d
Creating network "tomcat_default" with the default driver
Creating web ... done

$ docker-compose run web ls -l /usr/local/bin/
total 4
-rwxrwxr-x 1 1000 1000 31 Dec  4 18:37

$ docker-compose run web ls -l /tmp
total 4
drwxr-xr-x 1 root root 4096 Nov 24 01:29 hsperfdata_root

The owner of my script is not root, so maybe that’s why it is not executed but I don’t know how to resolve this issue.

Source: Docker Questions