docker-compose up says "command not found" when container starts #1639

Closed
huslage opened this Issue Jul 3, 2015 · 9 comments

Comments

Projects
None yet
7 participants

huslage commented Jul 3, 2015

I'm trying to run http://github.com/mbentley/docker-demo/tree/demo and I'm getting a strange error when I try to run docker-compose up. This is on a newly created docker-machine VM with newly installed docker stuff on my mac. This worked fine on Docker Engine 1.6.2 and Docker Compose 1.2.0. I have changed nothing.

The build works fine:

➜  docker-demo git:(demo) docker-compose build
db uses an image, skipping
Building app...
Step 0 : FROM golang:1.3-onbuild
# Executing 3 build triggers
Trigger 0, COPY . /go/src/app
Step 0 : COPY . /go/src/app
 ---> Using cache
Trigger 1, RUN go-wrapper download
Step 0 : RUN go-wrapper download
 ---> Using cache
Trigger 2, RUN go-wrapper install
Step 0 : RUN go-wrapper install
 ---> Using cache
 ---> 3ffaa0792d97
Step 1 : EXPOSE 8080
 ---> Using cache
 ---> 9c5dc02cbb34
Successfully built 9c5dc02cbb34

Up fails:

➜  docker-demo git:(demo) docker-compose --verbose up
Compose version 1.3.1
Docker base_url: https://172.16.41.151:2376
Docker version: KernelVersion=4.0.5-boot2docker, Os=linux, ApiVersion=1.19, Version=1.7.0, GitCommit=0baf609, Arch=amd64, GoVersion=go1.4.2
docker containers <- (all=True, filters={u'label': [u'com.docker.compose.project=dockerdemo', u'com.docker.compose.service=db', u'com.docker.compose.oneoff=False']})
docker containers -> (list with 0 items)
docker containers <- (all=True)
docker containers -> (list with 0 items)
docker containers <- (all=True, filters={u'label': [u'com.docker.compose.project=dockerdemo', u'com.docker.compose.service=app', u'com.docker.compose.oneoff=False']})
docker containers -> (list with 0 items)
docker containers <- (all=True)
docker containers -> (list with 0 items)
docker inspect_image <- ('postgres:latest')
docker inspect_image -> {u'Architecture': u'amd64',
 u'Author': u'',
 u'Comment': u'',
 u'Config': {u'AttachStderr': False,
             u'AttachStdin': False,
             u'AttachStdout': False,
             u'Cmd': [u'postgres'],
             u'Domainname': u'',
             u'Entrypoint': [u'/docker-entrypoint.sh'],
             u'Env': [u'PATH=/usr/lib/postgresql/9.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
...
docker containers <- (all=True, filters={u'label': [u'com.docker.compose.project=dockerdemo', u'com.docker.compose.service=db', u'com.docker.compose.oneoff=False']})
docker containers -> (list with 0 items)
docker inspect_image <- ('postgres:latest')
docker inspect_image -> {u'Architecture': u'amd64',
 u'Author': u'',
 u'Comment': u'',
 u'Config': {u'AttachStderr': False,
             u'AttachStdin': False,
             u'AttachStdout': False,
             u'Cmd': [u'postgres'],
             u'Domainname': u'',
             u'Entrypoint': [u'/docker-entrypoint.sh'],
             u'Env': [u'PATH=/usr/lib/postgresql/9.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
...
Creating dockerdemo_db_1...
docker create_container <- (name=u'dockerdemo_db_1', image='postgres:latest', labels={u'com.docker.compose.service': u'db', 'com.docker.compose.config-hash': 'd190d77d2c265e28d0abf57ff6403eac09cc421916308d057bee67a82ae14ffd', u'com.docker.compose.project': u'dockerdemo', 'com.docker.compose.version': u'1.3.1', u'com.docker.compose.oneoff': u'False', 'com.docker.compose.container-number': '1'}, host_config={'Links': [], 'PortBindings': {}, 'Binds': [], 'ExtraHosts': [], 'LogConfig': {'Type': u'json-file', 'Config': {}}, 'VolumesFrom': []}, environment={'POSTGRES_PASSWORD': 'demo', 'POSTGRES_USER': 'demo'}, detach=True, ports=['5432'])
docker create_container -> {u'Id': u'0318912b27b4ebadaecf45e74edd2266a53b707574bda09f8a575a4bc9f8b149',
 u'Warnings': None}
docker inspect_container <- (u'0318912b27b4ebadaecf45e74edd2266a53b707574bda09f8a575a4bc9f8b149')
docker inspect_container -> {u'AppArmorProfile': u'',
 u'Args': [u'postgres'],
 u'Config': {u'AttachStderr': False,
             u'AttachStdin': False,
             u'AttachStdout': False,
             u'Cmd': [u'postgres'],
             u'CpuShares': 0,
             u'Cpuset': u'',
             u'Domainname': u'',
             u'Entrypoint': [u'/docker-entrypoint.sh'],
...
docker start <- (u'0318912b27b4ebadaecf45e74edd2266a53b707574bda09f8a575a4bc9f8b149')
docker start -> None
docker inspect_image <- (u'dockerdemo_app')
docker inspect_image -> {u'Architecture': u'amd64',
 u'Author': u'',
 u'Comment': u'',
 u'Config': {u'AttachStderr': False,
             u'AttachStdin': False,
             u'AttachStdout': False,
             u'Cmd': [u'go-wrapper', u'run'],
             u'Domainname': u'',
             u'Entrypoint': None,
             u'Env': [u'PATH=/go/bin:/usr/src/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
...
docker containers <- (all=True, filters={u'label': [u'com.docker.compose.project=dockerdemo', u'com.docker.compose.service=app', u'com.docker.compose.oneoff=False']})
docker containers -> (list with 0 items)
docker inspect_image <- (u'dockerdemo_app')
docker inspect_image -> {u'Architecture': u'amd64',
 u'Author': u'',
 u'Comment': u'',
 u'Config': {u'AttachStderr': False,
             u'AttachStdin': False,
             u'AttachStdout': False,
             u'Cmd': [u'go-wrapper', u'run'],
             u'Domainname': u'',
             u'Entrypoint': None,
             u'Env': [u'PATH=/go/bin:/usr/src/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
...
docker containers <- (all=False, filters={u'label': [u'com.docker.compose.project=dockerdemo', u'com.docker.compose.service=db', u'com.docker.compose.oneoff=False']})
docker containers -> (list with 1 items)
docker inspect_container <- (u'0318912b27b4ebadaecf45e74edd2266a53b707574bda09f8a575a4bc9f8b149')
docker inspect_container -> {u'AppArmorProfile': u'',
 u'Args': [u'postgres'],
 u'Config': {u'AttachStderr': False,
             u'AttachStdin': False,
             u'AttachStdout': False,
             u'Cmd': [u'postgres'],
             u'CpuShares': 0,
             u'Cpuset': u'',
             u'Domainname': u'',
             u'Entrypoint': [u'/docker-entrypoint.sh'],
...
Creating dockerdemo_app_1...
docker create_container <- (name=u'dockerdemo_app_1', image=u'dockerdemo_app', labels={u'com.docker.compose.service': u'app', 'com.docker.compose.config-hash': '936e65dbcaa8fd3ab5b1488dae783f87bb9b71b14a8f54a26d22fb3e715a87c4', u'com.docker.compose.project': u'dockerdemo', 'com.docker.compose.version': u'1.3.1', u'com.docker.compose.oneoff': u'False', 'com.docker.compose.container-number': '1'}, host_config={'Links': ['dockerdemo_db_1:db', 'dockerdemo_db_1:db_1', 'dockerdemo_db_1:dockerdemo_db_1'], 'PortBindings': {'8080/tcp': [{'HostPort': '8080', 'HostIp': ''}]}, 'Binds': [], 'ExtraHosts': [], 'LogConfig': {'Type': u'json-file', 'Config': {}}, 'VolumesFrom': []}, environment={'DB_PASS': 'demo', 'DB_NAME': 'demo', 'DB_USER': 'demo', 'DB_SSL_MODE': 'disable', 'TITLE': 'Docker Demo'}, entrypoint='/bin/bash', command='-c "sleep 5 && go-wrapper run"', detach=True, ports=[u'8080', '8080'])
docker create_container -> {u'Id': u'86afca63b61a1394918e75641b07fcc8351a5a53ec637296378ef2b944033c95',
 u'Warnings': None}
docker inspect_container <- (u'86afca63b61a1394918e75641b07fcc8351a5a53ec637296378ef2b944033c95')
docker inspect_container -> {u'AppArmorProfile': u'',
 u'Args': [u'-c', u'sleep 5 && go-wrapper run'],
 u'Config': {u'AttachStderr': False,
             u'AttachStdin': False,
             u'AttachStdout': False,
             u'Cmd': [u'-c', u'sleep 5 && go-wrapper run'],
             u'CpuShares': 0,
             u'Cpuset': u'',
             u'Domainname': u'',
             u'Entrypoint': [u'"/bin/bash"'],
...
docker start <- (u'86afca63b61a1394918e75641b07fcc8351a5a53ec637296378ef2b944033c95')
Cannot start container 86afca63b61a1394918e75641b07fcc8351a5a53ec637296378ef2b944033c95: [8] System error: exec: "\"/bin/bash\"": stat "/bin/bash": no such file or directory

This is the container that failed:

➜  docker-demo git:(demo) docker inspect 86afca63b61a1394918e75641b07fcc8351a5a53ec637296378ef2b944033c95
[
{
    "Id": "86afca63b61a1394918e75641b07fcc8351a5a53ec637296378ef2b944033c95",
    "Created": "2015-07-03T03:42:44.796186523Z",
    "Path": "\"/bin/bash\"",
    "Args": [
        "-c",
        "sleep 5 \u0026\u0026 go-wrapper run"
    ],
    "State": {
        "Running": false,
        "Paused": false,
        "Restarting": false,
        "OOMKilled": false,
        "Dead": false,
        "Pid": 0,
        "ExitCode": -1,
        "Error": "[8] System error: exec: \"\\\"/bin/bash\\\"\": stat \"/bin/bash\": no such file or directory",
        "StartedAt": "0001-01-01T00:00:00Z",
        "FinishedAt": "0001-01-01T00:00:00Z"
    },
    "Image": "9c5dc02cbb344fc046a21446c66c79b983d15a8a14bcc4b2767dde3f6b14e367",
    "NetworkSettings": {
        "Bridge": "",
        "EndpointID": "",
        "Gateway": "",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "HairpinMode": false,
        "IPAddress": "",
        "IPPrefixLen": 0,
        "IPv6Gateway": "",
        "LinkLocalIPv6Address": "",
        "LinkLocalIPv6PrefixLen": 0,
        "MacAddress": "",
        "NetworkID": "",
        "PortMapping": null,
        "Ports": null,
        "SandboxKey": "",
        "SecondaryIPAddresses": null,
        "SecondaryIPv6Addresses": null
    },
    "ResolvConfPath": "/mnt/sda1/var/lib/docker/containers/86afca63b61a1394918e75641b07fcc8351a5a53ec637296378ef2b944033c95/resolv.conf",
    "HostnamePath": "/mnt/sda1/var/lib/docker/containers/86afca63b61a1394918e75641b07fcc8351a5a53ec637296378ef2b944033c95/hostname",
    "HostsPath": "/mnt/sda1/var/lib/docker/containers/86afca63b61a1394918e75641b07fcc8351a5a53ec637296378ef2b944033c95/hosts",
    "LogPath": "/mnt/sda1/var/lib/docker/containers/86afca63b61a1394918e75641b07fcc8351a5a53ec637296378ef2b944033c95/86afca63b61a1394918e75641b07fcc8351a5a53ec637296378ef2b944033c95-json.log",
    "Name": "/dockerdemo_app_1",
    "RestartCount": 0,
    "Driver": "aufs",
    "ExecDriver": "native-0.2",
    "MountLabel": "",
    "ProcessLabel": "",
    "Volumes": {},
    "VolumesRW": {},
    "AppArmorProfile": "",
    "ExecIDs": null,
    "HostConfig": {
        "Binds": [],
        "ContainerIDFile": "",
        "LxcConf": null,
        "Memory": 0,
        "MemorySwap": 0,
        "CpuShares": 0,
        "CpuPeriod": 0,
        "CpusetCpus": "",
        "CpusetMems": "",
        "CpuQuota": 0,
        "BlkioWeight": 0,
        "OomKillDisable": false,
        "Privileged": false,
        "PortBindings": {
            "8080/tcp": [
                {
                    "HostIp": "",
                    "HostPort": "8080"
                }
            ]
        },
        "Links": [
            "/dockerdemo_db_1:/dockerdemo_app_1/dockerdemo_db_1",
            "/dockerdemo_db_1:/dockerdemo_app_1/db",
            "/dockerdemo_db_1:/dockerdemo_app_1/db_1"
        ],
        "PublishAllPorts": false,
        "Dns": null,
        "DnsSearch": null,
        "ExtraHosts": [],
        "VolumesFrom": [],
        "Devices": null,
        "NetworkMode": "bridge",
        "IpcMode": "",
        "PidMode": "",
        "UTSMode": "",
        "CapAdd": null,
        "CapDrop": null,
        "RestartPolicy": {
            "Name": "",
            "MaximumRetryCount": 0
        },
        "SecurityOpt": null,
        "ReadonlyRootfs": false,
        "Ulimits": null,
        "LogConfig": {
            "Type": "json-file",
            "Config": {}
        },
        "CgroupParent": ""
    },
    "Config": {
        "Hostname": "86afca63b61a",
        "Domainname": "",
        "User": "",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "PortSpecs": null,
        "ExposedPorts": {
            "8080/tcp": {}
        },
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "DB_PASS=demo",
            "DB_NAME=demo",
            "DB_USER=demo",
            "DB_SSL_MODE=disable",
            "TITLE=Docker Demo",
            "PATH=/go/bin:/usr/src/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "GOLANG_VERSION=1.3.3",
            "GOPATH=/go"
        ],
        "Cmd": [
            "-c",
            "sleep 5 \u0026\u0026 go-wrapper run"
        ],
        "Image": "dockerdemo_app",
        "Volumes": null,
        "VolumeDriver": "",
        "WorkingDir": "/go/src/app",
        "Entrypoint": [
            "\"/bin/bash\""
        ],
        "NetworkDisabled": false,
        "MacAddress": "",
        "OnBuild": null,
        "Labels": {
            "com.docker.compose.config-hash": "936e65dbcaa8fd3ab5b1488dae783f87bb9b71b14a8f54a26d22fb3e715a87c4",
            "com.docker.compose.container-number": "1",
            "com.docker.compose.oneoff": "False",
            "com.docker.compose.project": "dockerdemo",
            "com.docker.compose.service": "app",
            "com.docker.compose.version": "1.3.1"
        }
    }
}
]

Version:

➜  docker-demo git:(demo) docker-compose --version
docker-compose version: 1.3.1
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.1j 15 Oct 2014
➜  docker-demo git:(demo) docker info
Containers: 2
Images: 45
Storage Driver: aufs
 Root Dir: /mnt/sda1/var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 49
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 4.0.5-boot2docker
Operating System: Boot2Docker 1.7.0 (TCL 6.3); master : 7960f90 - Thu Jun 18 18:31:45 UTC 2015
CPUs: 1
Total Memory: 1.956 GiB
Name: localdev
ID: ZNXO:IZOB:OZ77:O5X7:5J24:2LZ2:YW6W:ROAS:6Y4C:SW5W:PKZZ:GCDV
Debug mode (server): true
File Descriptors: 15
Goroutines: 25
System Time: 2015-07-03T03:47:41.681050858Z
EventsListeners: 0
Init SHA1: 
Init Path: /usr/local/bin/docker
Docker Root Dir: /mnt/sda1/var/lib/docker
Username: huslage
Registry: https://index.docker.io/v1/
Labels:
 provider=vmwarefusion
➜  docker-demo git:(demo) docker version
Client version: 1.7.0
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 0baf609
OS/Arch (client): darwin/amd64
Server version: 1.7.0
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 0baf609
OS/Arch (server): linux/amd64

huslage commented Jul 3, 2015

Note that running a container manually seems to work just fine:

➜  docker-demo git:(demo) docker run --entrypoint /bin/bash dockerdemo_app -c "sleep 5 && go-wrapper run"
+ exec app
2015/07/03 03:53:35 unable to initdb: dial tcp 127.0.0.1:0: connection refused
2015/07/03 03:53:35 listening on :8080

huslage commented Jul 3, 2015

docker-compose.yml for completion:

app:
  build: demo_pq
  entrypoint: /bin/bash
  command: -c "sleep 5 && go-wrapper run" # sleep because the postgres container isn't ready on first start
  environment:
    - "TITLE=Docker Demo"
    - "DB_USER=demo"
    - "DB_PASS=demo"
    - "DB_NAME=demo"
    - "DB_SSL_MODE=disable"
  links:
    - "db:db"
  ports:
    - 8080:8080
  expose:
    - 8080

db:
  image: postgres:latest
  environment:
    - "POSTGRES_USER=demo"
    - "POSTGRES_PASSWORD=demo"
  expose:
    - 5432
Member

dnephin commented Jul 3, 2015

Duplicate of #1574 and #1618, it's going to be fixed in docker 1.7.1

@dnephin dnephin closed this Jul 3, 2015

mageddo commented Jan 13, 2016

My docker is 1.9.1 and I have the same issue

@mageddo did you found any solution of this problem ?

Same here with:

$ docker-compose version
docker-compose version: 1.5.1
docker-py version: 1.5.0
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.2a 19 Mar 2015

$ docker version
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.3
 Git commit:   a34a1d5
 Built:        Fri Nov 20 17:56:04 UTC 2015
 OS/Arch:      darwin/amd64

Server:
 Version:      1.10.0-rc4
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   6b8415b
 Built:        2016-02-03T22:32:03.676769833+00:00
 OS/Arch:      linux/amd64

mageddo commented Feb 7, 2016

@unknownArtist
No solution, I simply get out docker-compose, now I am creating my shell scripts to build it, looks like the new version fix it but I've not tried

Ciantic commented Feb 7, 2017

What version should fix this? I'm trying docker on windows:
docker-compose version 1.11.0-rc1, build 82978a93

And this either can't seem to find entrypoints I've mounted as volumes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment