Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when trying to run docker-compose up. "oci runtime error: container_linux.go:247..." #4039

Closed
michalwarda opened this issue Oct 18, 2016 · 92 comments

Comments

@michalwarda
Copy link

michalwarda commented Oct 18, 2016

When trying to launch a built container with docker-compose up I'm getting an error:

ERROR: for app  Cannot start service app: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"script/docker-entrypoint.sh\\\": stat script/docker-entrypoint.sh: no such file or directory\"\n"
ERROR: compose.cli.main.main: Encountered errors while bringing up the project.

I've tried reinstalling docker, docker-compose, virtualbox, rebuilding containers, recreating machines.
Downgrading almost all of those things to previous versions. Literally retrying the whole docker instalation flow.

The problem occurs only in docker-compose up. Everything works fine when I use docker run ....
The important thing is the whole setup works correctly on my OSX installation. Unfortunately my Xenial Ubuntu doesn't want to cooperate.

I've checked the issues archive and couldn't find an answer that would help me fix the problem.

Here are my whole setup configs:
docker-compose.yml:

version: "2"
services:
  app:
    build: .
    volumes:
      - .:/app
    depends_on:
      - cache-redis
    links:
      - cache-redis
  nginx:
    image: nginx:1.11.1-alpine
    depends_on:
      - app
    links:
      - app
    ports:
      - "80:80"
    volumes:
      - ./config/nginx/app.conf:/etc/nginx/conf.d/default.conf
  cache-redis:
    image: redis:3.2.1-alpine
    volumes:
      - cache-redis:/var/lib/cache-redis/data

volumes:
  cache-redis:
    driver: local

Dockerfile

FROM jruby:9.1.2.0-jre-alpine

RUN apk --update --no-cache add build-base less git openssh

RUN mkdir -p /app

WORKDIR /app

COPY Gemfile Gemfile.lock ./

RUN gem install bundler && bundle install

COPY . ./

CMD ["script/docker-entrypoint.sh"]

script/docker-entrypoint.sh

#!/bin/sh
rm -f tmp/pids/server.pid
padrino s -h 0.0.0.0

docker-compose -v:
docker-compose version 1.8.1, build 878cff1

docker version:

Client:
 Version:      1.12.2
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   bb80604
 Built:        Tue Oct 11 18:29:41 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.2
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   bb80604
 Built:        Tue Oct 11 17:00:50 2016
 OS/Arch:      linux/amd64

docker info:

Containers: 6
 Running: 1
 Paused: 0
 Stopped: 5
Images: 15
Server Version: 1.12.2
Storage Driver: aufs
 Root Dir: /mnt/sda1/var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 37
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.4.24-boot2docker
Operating System: Boot2Docker 1.12.2 (TCL 7.2); HEAD : 9d8e41b - Tue Oct 11 23:40:08 UTC 2016
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 995.9 MiB
Name: default
ID: G442:OWMQ:BPXD:7MK5:HM7J:R7PO:DNBP:ZSKI:HJH4:OCE4:UX36:M2PO
Docker Root Dir: /mnt/sda1/var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 21
 Goroutines: 38
 System Time: 2016-10-18T09:18:30.024046419Z
 EventsListeners: 0
Registry: https://index.docker.io/v1/
Labels:
 provider=virtualbox
Insecure Registries:
 127.0.0.0/8
@michalwarda
Copy link
Author

michalwarda commented Oct 18, 2016

I've managed to fix it. I had wrong permissions and needed to run docker-compose as sudo.

@jakerobers
Copy link

I am getting this error too, and sudo fixed it. However, there should be an alternative solution to this issue.

@chrisdpeters
Copy link

@michalwarda @jakerobers I am experiencing this issue too. I think you should reopen the issue.

I am using a pretty vanilla install of Docker for Mac, and I can't remember doing anything that would require this permission level on the docker-compose command.

@cloutiertyler
Copy link

I'm getting a similar error and unfortunately sudo doesn't fix this one.

ERROR: for grafana  Cannot start service grafana: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"/init-grafana-and-run.sh\\\": permission denied\"\n"

@wojked
Copy link

wojked commented Nov 17, 2016

I had similar issue with my images and found this thread.
In my case, It turned out that mounting the volumes is the source of confusion.

In your case, please make sure that app.conf is an existing file.
./config/nginx/app.conf:/etc/nginx/conf.d/default.conf

This will mount your local app.conf inside of the docker container.
If it does not exist on your local machine, docker will create locally an "app.conf" directory, which is not what you would usually expect in this particular case.

I hope it will help you.

@ghost
Copy link

ghost commented Nov 17, 2016

click on icon tray Docker > Settings... > Shared Drivers and select checkbox Shared: C and D
Maybe it`s help you!

@danimbrogno
Copy link

I've noticed having a CMD line in a dockerfile and a -command parameter in a docker-compose file will also trigger this error.

@bitwombat
Copy link

bitwombat commented Dec 28, 2016

This issue shouldn't be closed - it still happens, and sudo isn't really a good solution when needing to point docker-compose at a remote machine for deployment.

This is with docker-compose 1.9.0.

Interestingly, if I ssh into the machine, docker-compose up -d completes without an error. So, for me, this only happens when running remotely.

Odd thing is, the mount in the error message is for a local path (in bold below) - referred to relatively in my docker-compose, so perhaps this is a relative/absolute path problem with docker-compose.

ERROR: for nginx Cannot start service nginx: invalid header field value "oci runtime error:
container_linux.go:247: starting container process caused "process_linux.go:359: container init caused
\"rootfs_linux.go:53: mounting \\\\ "/data/www/aq/docker/nginx/default.conf \\\" to rootfs \\\"/var
/lib/docker/aufs/mnt/8e3b80c25d85b70b78ea479a5f68373e236fdd3dafd62b241495907ace62da2f\\\"
at \\\"/var/lib/docker/aufs/mnt
/8e3b80c25d85b70b78ea479a5f68373e236fdd3dafd62b241495907ace62da2f/etc/nginx/conf.d
/default.conf\\\" caused \\\"not a directory\\\"\""\n"

This is due to a line in docker-compose.yml trying to point nginx's configuration back to the local filesystem:

    volumes:
      - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf

This should resolve to /home/root/docker on the remote, and /data/www/aq/docker locally. Instead, docker-compose seems to be trying to use the local path on the remote.

Happy to provide any other details/logs.

gitsimon added a commit to tanzquotient/website that referenced this issue Jan 6, 2017
dockerfile-new is still separated for reference
added memcached again and necessary links
added restart:always to all containers

still problems when trying to run a bash inside a container (e.g. for running collectstatic):
docker/compose#4039
@sajadghawami
Copy link

you gotta make the docker-entrypoint.sh an executable before building the image:

chmod +x docker-entrypoint.sh

otherwise it cant be executed and you get the permission error.

@augnustin
Copy link

Same issue here. No idea how it started yet.

@augnustin
Copy link

Found it, I was not assigning options in the right order:

docker-compose run web -f docker-compose-prod.yml /bin/bash

fails while:

docker-compose run -f docker-compose-prod.yml web /bin/bash

works.

Those parameter order restrictions are quite of annoying. Never has so many issues with any Unix executable...

@EAZYE9000
Copy link

Been bashing my head into my keyboard trying to get this to work. Thanks for posting the fix!

@imarchuang
Copy link

This issue happens on my native docker on Mac too... no idea how to resolve it!

ERROR: for elasticsearch  Cannot start service elasticsearch: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:359: container init caused \"rootfs_linux.go:54: mounting \\\"/Users/mhuang/docker/elk/elasticsearch/config/elasticsearch.yml\\\" to rootfs \\\"/var/lib/docker/aufs/mnt/f41ff7a7a6fff5c6aa141ff8e9ca2d8c85740e4c7c707c6f720312703392b84a\\\" at \\\"/var/lib/docker/aufs/mnt/f41ff7a7a6fff5c6aa141ff8e9ca2d8c85740e4c7c707c6f720312703392b84a/usr/share/elasticsearch/config/elasticsearch.yml\\\" caused \\\"not a directory\\\"\""
: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

below are some info about my docker:

$ docker version
Client:
 Version:      1.13.1
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 08:47:51 2017
 OS/Arch:      darwin/amd64

Server:
 Version:      1.13.1
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 08:47:51 2017
 OS/Arch:      linux/amd64
 Experimental: true
$ docker info
Containers: 15
 Running: 0
 Paused: 0
 Stopped: 15
Images: 38
Server Version: 1.13.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 380
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host ipvlan macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1
runc version: 9df8b306d01f59d3a8029be411de015b7304dd8f
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.9.8-moby
Operating System: Alpine Linux v3.5
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 1.952 GiB
Name: moby
ID: 247X:LGNT:FJ4M:U6XE:T47E:WXLQ:VFXY:D3Z2:MBPI:KMAL:32LQ:DDHF
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 17
 Goroutines: 27
 System Time: 2017-02-22T19:00:56.756261436Z
 EventsListeners: 1
No Proxy: *.local, 169.254/16
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

@sajadghawami
Copy link

@imarchuang your seems to be a different problem!

What are you trying to mount? Seems like a folder on your host doesnt exist.

Please provide your docker-compose file

@chielsen
Copy link

chielsen commented Feb 27, 2017

I'm having the same issues. I was running a php-fpm and nginx container.
Rebooted my windows machine, and it couldn't find the files anymore i was trying to include on the php-fpm container.

NOTICE: PHP message: PHP Warning:  Unknown: failed to open stream: No such file or directory in Unknown on line 0
172.17.0.5 -  27/Feb/2017:14:06:05 +0000 "GET /index.php" 200
NOTICE: PHP message: PHP Fatal error:  Unknown: Failed opening required '/var/www/xxxx/public/index.php' (include_path='.:/usr/share/php') in Unknown on line 0
172.17.0.5 -  27/Feb/2017:14:06:06 +0000 "GET /index.php" 404
ERROR: Unable to open primary script: /var/www/xxxx/public/index.php (No such file or directory)

Then restarted the container and got:

Cannot start service loanstreet-php-fpm: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:359: container init caused \"rootfs_linux.go:54: mounting \\\"/C/Web/Apache/htdocs/sxxxxxx/php-fpm/php-ini-overrides.ini\\\" to rootfs \\\"/var/lib/docker/aufs/mnt/83e56fa30d7fae9156dc5842b62f1bc65cbbbcbfebabd96bb4d3513df53458bc\\\" at \\\"/var/lib/docker/aufs/mnt/83e56fa30d7fae9156dc5842b62f1bc65cbbbcbfebabd96bb4d3513df53458bc/etc/php/7.1/fpm/conf.d/99-overrides.ini\\\" caused \\\"not a directory\\\"\""

@romaindequidt
Copy link

"volumes" binds directories... not files.

@imarchuang bind the "config" directory => elk/elasticsearch/config with /usr/share/elasticsearch/config

@chielsen bind "php-fpm" direcotry with /etc/php/7.1/fpm/conf.d directory

@imarchuang
Copy link

imarchuang commented Feb 27, 2017 via email

@chielsen
Copy link

chielsen commented Feb 27, 2017

@romaindequidt That is weird since it always worked. I got this from https://phpdocker.io/generator
Mounting a file is also specified in here: https://docs.docker.com/engine/tutorials/dockervolumes/#mount-a-host-file-as-a-data-volume

I found a workaround for now, making the file readonly, adding ':ro' on the end of the line.

@sajadghawami
Copy link

sajadghawami commented Feb 27, 2017

You either mount a specific file, or you mount a whole folder.
You cannot mount a single file into a folder!

As taken from the link provided by @chielsen you can do this:

docker run --rm -it -v ~/.bash_history:/root/.bash_history ubuntu /bin/bash

which maps the users local .bash_history file into the container with the specified filename.

@skobkin
Copy link

skobkin commented Feb 28, 2017

I just caught this error after updating of docker without restarting docker daemon.

Step 9/13 : RUN /bin/ln -s /etc/nginx/sites-available/symfony.conf /etc/nginx/sites-enabled/symfony.conf
 ---> Running in ea68a8b4bf61
container_linux.go:247: starting container process caused "process_linux.go:334: running prestart hook 0 caused \"fork/exec /usr/bin/dockerd (deleted): no such file or directory\""
ERROR: Service 'nginx' failed to build: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"process_linux.go:334: running prestart hook 0 caused \\\"fork/exec /usr/bin/dockerd (deleted): no such file or directory\\\"\"\n"

After restarting all works normal.

@otafasd
Copy link

otafasd commented Apr 13, 2017

In my case, I've changed docker-compose.yml file.
from
- /usr/local/bin/docker:/usr/bin/docker
to
- /usr/bin/docker:/usr/bin/docker

It works fine.

@chielsen
Copy link

I still occasionally have this error. I actually just bought a new pc and did a clean win 10 install and still have this issue. Only way to fix it is to reboot.
Is anybody looking into this?

@skobkin
Copy link

skobkin commented May 18, 2017

@chielsen Seems like it may happen at least after Docker update. I solved this problem for me with restarting Docker daemon.

@pig6
Copy link

pig6 commented May 24, 2017

when i docker run , i get following error
Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"chdir to cwd (\\\"/data/env/tomcats/0\\\") set in config.json failed: no such file or directory\"\n" Error: failed to start containers: fd2e03516c08
and my dockerfile in following
`FROM minchangchen/openjdk:latest
MAINTAINER minchangchen
LABEL name="tomcat" license="MIT" build-date="20170223"

ENV VERSION 8.5.15
ENV TOMCAT_PATH /data/env/tomcats/0

RUN yum update -y && cd /data/softs && wget http://www-us.apache.org/dist/tomcat/tomcat-8/v$VERSION/bin/apache-tomcat-$VERSION.tar.gz && tar -zxf apache-tomcat-$VERSION.tar.gz && mkdir /data/env/tomcats && mv apache-tomcat-$VERSION $TOMCAT_PATH && rm -rf /data/softs/*

COPY catalina.sh $TOMCAT_PATH/bin/catalina.sh
COPY server.xml $TOMCAT_PATH/conf/server.xml
COPY context.xml $TOMCAT_PATH/conf/context.xml

RUN chmod +x $TOMCAT_PATH/bin/catalina.sh

WORKDIR $TOMCAT_PATH

CMD ["bin/catalina.sh", "run"]`

everybody help me !!! - . --

@objectivePinta
Copy link

objectivePinta commented May 29, 2017

This is happening with docker-toolbox on windows 7 as well:

ERROR: for storage_startup  Cannot start service storage_startup: invalid header
 field value "oci runtime error: container_linux.go:247: 
starting container process caused \"exec: \\\"./startup.sh\\\":
 permission denied\"\n"

@SamAyoub
Copy link

SamAyoub commented Jun 8, 2017

objectivePinta Try to restart your toolbox when you get this error. and restart your container,
if you still have the same error, just use the virtual box in docker toolbox and then return to the normal one and it should fix it.

@veqryn
Copy link

veqryn commented Jun 16, 2017

Got this today.
Windows 10 Pro with the Docker App (native hyper-v) 17.03.1-ce-win5 (10743)
I've been running this particular container for months now without issue. Restarted laptop and the bug hasn't returned.

ERROR: for goconvey-dev  Cannot start service goconvey-dev: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:359: container init caused \"rootfs_linux.go:54: mounting \\\"/C/Users/xxx/workspace/go/src/github.com/xxx\\\" to rootfs \\\"/var/lib/docker/overlay2/c39c054c44d82f699180b40c19a5a626c74063f8c9defa0c2a2bf12dfdb7972d/merged\\\" at \\\"/go/src/github.com/xxx\\\" caused \\\"stat /C/Users/xxx/workspace/go/src/github.com/xxx: input/output error\\\"\""
Encountered errors while bringing up the project.

@herazolk
Copy link

herazolk commented Jul 5, 2019

Today I had this issue too. What I did yesterday, just changed my Windows user password. Today when I tried to start my container faced with this error message.

How I solved? Reset drive credentials in settings. Does Docker Desktop stores my password when I give access to my drives 🤷‍♂ ?

@bharathvishwanathan
Copy link

Iam also getting a similar but little different, Please help

docker-compose up
Starting wapdocker_wordpress_1 ... error

ERROR: for wapdocker_wordpress_1 Cannot start service wordpress: b'OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"/bin/sh\": stat /bin/sh: no such file or directory": unknown'

ERROR: for wordpress Cannot start service wordpress: b'OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"/bin/sh\": stat /bin/sh: no such file or directory": unknown'
ERROR: Encountered errors while bringing up the project.

@n0minal
Copy link

n0minal commented Aug 3, 2019

Pretty easy to fix, in my case I just needed to save the files used by docker with LF ending line instead of CRLF ending line, you can use Vscode to do that and you can also configure it to save automatically as LF using editorconfig extension.

@eivamu
Copy link

eivamu commented Aug 25, 2019

Just wanted to weigh in on this error. I had it and I solved it.

In my case I was using Proxmox VE 6.0 and a system container (CT) running CentOS. What I was trying to achieve, was to run a regular (micro) container within that instance. And I got the error message. Checked permissions - they were ok. Checked selinux - it wasn't activated. Then it dawned on me: Nested virtualization.

Turns out I hadn't enabled nested virtualization in Proxmox VE for the system container running CentOS. I stopped it, enabled nested virtualization and voila, now I could run standard (micro) containers within it.

Hope it helps.

@LukasMeine
Copy link

For what it is worth: sudo docker container prune fixed the issue for me.

Worked for me, thank you! :D

@samayo
Copy link

samayo commented Oct 9, 2019

This answer worked for me: #4039 (comment) thanks @artem-gavrylenko

@ryanhamley
Copy link

ryanhamley commented Nov 5, 2019

#4039 (comment)

I've noticed having a CMD line in a dockerfile and a -command parameter in a docker-compose file will also trigger this error.

I ran into this today with Docker 19.03.4 running with Docker for Mac and ☝️ fixed the issue for me. I removed command: npm start from my docker-compose.yml since my Dockerfile called CMD npm start. Everything seems to work as expected now.

@makrom
Copy link

makrom commented Nov 21, 2019

you gotta make the docker-entrypoint.sh an executable before building the image:

chmod +x docker-entrypoint.sh

otherwise it cant be executed and you get the permission error.

It helped me. Thank you.

@KamilahCar
Copy link

KamilahCar commented Dec 2, 2019

I'm having a similar problem. My Error message is this:
ERROR: for logstash Cannot start service logstash: OCI runtime create failed: container_linux.go:346: starting container process caused "process_linux.go:449: container init caused "rootfs_linux.go:58: mounting \"/c/users/revature/documents/revature/William's Code/elasticapmdocker/logstash/logstash.yml\" to rootfs \"/mnt/sda1/var/lib/docker/overlay2/baa8081d216619bdc31c46a0b97b6b73ef1af2005b792f1adb5c3df974e39f57/merged\" at \"/mnt/sda1/var/lib/docker/overlay2/baa8081d216619bdc31c46a0b97b6b73ef1af2005b792f1adb5c3df974e39f57/merged/usr/share/logstash/config/logstash.yml\" caused \"not a directory\""":

According to my error message, something might be wrong with my logstash.yml file and my apm-server.yml file

So my logstash.yml file looks like this:
pipeline:
batch:
delay: 50
size: 125
xpack.monitoring.enabled: true

And my apm-server.yml looks like this:
apm-server:
host: "0.0.0.0:8200"
setup.dashboards.enabled: true
rum:
enabled: true
allow_origins: ['http://localhost:8080']
kibana:
enabled: true
host: "localhost:5601"
logging.level: info
logging.to_files: true
logging.files:
path: CHANGE_ME
name: DemoWebApplication
keepfiles: 7
permissions: 0644
logging.metrics:
enabled: true
output.elasticsearch:
index: "apm-server-%{+yyyy.MM.dd}"
hosts: ["localhost:9200"]
setup.template.name: "apm-server"
setup.template.pattern: "apm-server-*"

@APOORVA456
Copy link

$ docker-compose up --build
Building app
Step 1/10 : FROM ruby:2.6-slim
---> cd9eb8fc5abd
Step 2/10 : RUN apt-get update -qq && apt-get install -y build-essential cmake git tzdata libpq-dev ruby-dev curl
---> Using cache
---> dae7cef58b65
Step 3/10 : RUN curl -sL https://deb.nodesource.com/setup_11.x | bash - && apt-get install -y nodejs
---> Using cache
---> 68bdae8e1191
Step 4/10 : RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && apt-get update && apt-get install -y yarn
---> Using cache
---> 8ae18681c5c2
Step 5/10 : RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
---> Using cache
---> e7fece4b0095
Step 6/10 : RUN mkdir /app
---> Using cache
---> f59bc64ba38c
Step 7/10 : WORKDIR /app
---> Using cache
---> 0e280a5c2986
Step 8/10 : RUN gem install bundler -v 1.17.3
---> Using cache
---> 3cd92734be84
Step 9/10 : ENTRYPOINT ["./docker-entrypoint.sh"]
---> Using cache
---> 0071a71c1342
Step 10/10 : CMD ["bash"]
---> Using cache
---> a069f4950175
Successfully built a069f4950175
Successfully tagged ifme-master_app:latest
ifme-master_db_1 is up-to-date
Starting ifme-master_app_1 ... error
ERROR: for ifme-master_app_1 Cannot start service app: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: "./docker-entrypoint.sh": stat ./docker-entrypoint.sh: no such file or directory": unknown

ERROR: for app Cannot start service app: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: "./docker-entrypoint.sh": stat ./docker-entrypoint.sh: no such file or directory": unknown
ERROR: Encountered errors while bringing up the project.

I am getting this error while running command docker-compose up --build
though I have docker-entrypoint.sh

@longqiwork
Copy link

This may be caused by a password change.
Right click your docker icon
-> settings
-> Shared drives
-> re-select the workplace and system will require you enter the password again.

@motoxnate
Copy link

I am getting this error too, and sudo fixed it. However, there should be an alternative solution to this issue.

Instead of running as sudo simply run the command
chmod a+x /path/to/your/script.sh
to give permission to execute. This is much better than using sudo each time.

@simanto604newscred
Copy link

simanto604newscred commented Mar 26, 2020

I am getting this error too, and sudo fixed it. However, there should be an alternative solution to this issue.

Instead of running as sudo simply run the command
chmod a+x /path/to/your/script.sh
to give permission to execute. This is much better than using sudo each time.

Which script you referring to? @motoxnate

@motoxnate
Copy link

@simanto604newscred the script I am referring to is the shell script used to bring up the rest of the project. In the original post, this would be the last line in the dockerfile which is:
CMD ["script/docker-entrypoint.sh"]
The script here is located at script/docker-entrypoint.sh

You only have to change the script permissions with chmod a+x <script> once and will no longer have to use sudo.

@promisepreston
Copy link

I am so sorry to add to this issue after it has been opened:

But I found a way around this. Simply rebuild the image by running:

docker-compose build

And then start a container using the newly built image:

docker-compose up

That's all.

I hope this helps

@cjjb
Copy link

cjjb commented Jul 9, 2020

I was having a similar issue and none of the ways described here helped.
Later I noticed I had been running all comands from within a python virutal environment.
I had thought that made no difference because earlier today all build were going fine but later today not a single one went through event after pruning, restarting docker service, etc.
After I deactivated the virtual environment it all started woring correctly.
Leaving this here so that it might help someone else.

@grinsteindavid
Copy link

my solution was to avoid using file attaching from docker-compose to the containers but pass any files/folders to the dockerfile image that the container will use and that's it

@ricky2k7
Copy link

I had a similar error today.
And after almost an hour of debugging and testing several of the provided solutions, the only thing that solved the problem was, a system Restart. True story.

@jhabarsingh
Copy link

jhabarsingh commented Dec 30, 2020

In Dockerfile

RUN ["chmod", "+x", "/usr/src/app/entrypoint.sh"]
ENTRYPOINT ["/usr/src/app/entrypoint.sh"]

Docker build command

docker-compose build --no-cache

Adding these lines fixed the issue

@julianmojico
Copy link

Removing the container solved the issue. Not sure if it will happen again after restart. (macOS Docker 2.2.04)

@tabareh
Copy link

tabareh commented Jul 5, 2021

I had the same issue when I used the entrypoint in docker-compose file

    entrypoint: ["/wait-for-it.sh", "fakeserver:1433", "-t", "60", "--", "dotnet", "test"]

Then I moved it to the dockerfile and in dockerfile I used

USER root
COPY wait-for-it.sh .
RUN chmod +x wait-for-it.sh
ENTRYPOINT ["./wait-for-it.sh", "fakeserver:1433", "-t", "60", "--","dotnet", "test"]

@sanspareilsmyn
Copy link

you gotta make the docker-entrypoint.sh an executable before building the image:

chmod +x docker-entrypoint.sh

otherwise it cant be executed and you get the permission error.

I solved my issue with this solution.

@TarKHaoS
Copy link

you gotta make the docker-entrypoint.sh an executable before building the image:

chmod +x docker-entrypoint.sh

otherwise it cant be executed and you get the permission error.

Worked for me as well

@florm2496
Copy link

sudo docker container prune worked for me!!

@helvete
Copy link

helvete commented Feb 7, 2023

Recent docker update from 01.02. rendered nginx container unrunnable (no change in the image except user files for about 2 years). After upgrading from nginx:1.20-alpine to nginx:1.23-alpine and making explicit addition of exec flag (RUN chmod a+x /docker-entrypoint.sh) to the entrypoint script the container resumed working state. Very nasty thing for an upgrade to result to indeed!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests