Compose: INTERNAL ERROR: cannot create temporary directory!

Created on 4 Apr 2016  Â·  25Comments  Â·  Source: docker/compose

% docker-compose --version
INTERNAL ERROR: cannot create temporary directory!
%

I can't do anything. The version, not that it'll tell me (above is real output!), is latest - 1.6.2.

This occurred after stopping (gracefully). I then ran up:

% docker-compose up
Failed to write all bytes for libpython2.7.so.1.0
% docker-compose up
INTERNAL ERROR: cannot create temporary directory!
%

It seemed to correct itself after a 'manual' docker start of all containers - but it would be good if this error gave some indication of what to do. (e.g. is there an orphaned temp dir I can delete?)

arepackaging

Most helpful comment

Confirming this happened to me Today.

☻ docker-compose up
INTERNAL ERROR: cannot create temporary directory!

Was running low on space:

☻  df -h
Filesystem      Size   Used  Avail Capacity  iused  ifree %iused  Mounted on
/dev/disk1     112Gi  110Gi  2.1Gi    99% 28778708 543018   98%   /

After removing a container...

☻  df -h
Filesystem      Size   Used  Avail Capacity  iused  ifree %iused  Mounted on
/dev/disk1     112Gi  110Gi  2.1Gi    99% 28778556 543170   98%   /

it works now!

TLDR; low hd space issue (2.1Gb). Hope this helps someone!

All 25 comments

I've never seen those errors before. They aren't part of the Compose code base, but they might be coming from pyinstaller which we use to create the binary.

Which host OS are you using (I've guessed windows from the prompt, is that correct) ?

The first step of running docker-compose is to extract the python object files into a temporary directory. If there are permission issues or a full disk, that could fail.

Daniel, thanks for the reply. I'm using Ubuntu. (zsh, I think % is the
default prompt? If not that's just a strange habit I've fallen into!)

I'm not sure that a permissions issue or full disk would have been resolved
by running docker start ...? Certainly odd.

On Mon, 4 Apr 2016, 18:15 Daniel Nephin, [email protected] wrote:

I've never seen those errors before. They aren't part of the Compose code
base, but they might be coming from pyinstaller which we use to create
the binary.

Which host OS are you using (I've guessed windows from the prompt, is that
correct) ?

The first step of running docker-compose is to extract the python object
files into a temporary directory. If there are permission issues or a full
disk, that could fail.

—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/docker/compose/issues/3262#issuecomment-205399563

I don't think it would be resolved by that. Or you saying that after running docker start you were able to run docker-compose commands?

Yep, I started everything that up should have, and thence on
docker-compose was fine. Before that even --version failed, as above.

Perhaps this was just extraordinarily bad luck and extremely localised. If
you want to close, I completely understand, and I'll come back if it
happens again. At least there'll be something searchable for anyone in the
future with similar fortune!

On Tue, 5 Apr 2016, 00:35 Daniel Nephin, [email protected] wrote:

I don't think it would be resolved by that. Or you saying that after
running docker start you were able to run docker-compose commands?

—
You are receiving this because you authored the thread.

Reply to this email directly or view it on GitHub
https://github.com/docker/compose/issues/3262#issuecomment-205541272

Ok, I think I will close this. I don't think we have enough to debug this, so if it happens again, we can re-open.

Confirming this happened to me Today.

☻ docker-compose up
INTERNAL ERROR: cannot create temporary directory!

Was running low on space:

☻  df -h
Filesystem      Size   Used  Avail Capacity  iused  ifree %iused  Mounted on
/dev/disk1     112Gi  110Gi  2.1Gi    99% 28778708 543018   98%   /

After removing a container...

☻  df -h
Filesystem      Size   Used  Avail Capacity  iused  ifree %iused  Mounted on
/dev/disk1     112Gi  110Gi  2.1Gi    99% 28778556 543170   98%   /

it works now!

TLDR; low hd space issue (2.1Gb). Hope this helps someone!

This is happening to me too. It is definitely a resource problem for docker, it should be handled with a more informative error at least so we know what the actual cause of the error is.

@dnephin any chance this could be re-opened?

Happened to me too. VM ran out of disk space and once I'm done cleaning it up, docker-compose no longer runs and outputs "Failed to write all bytes for" errors.

Happened to me as well, after running out of disk I'm getting Failed to write all bytes for _bisect.so error when I issue docker-compose up, even after freeing several GBs of disk space. Restarting the server fixed it for me.

i'm have same error, the disk space is very low for instance docker-compose... solution: assign more space on disk for working docker-compose

I am having the same error on my Ubuntu 16.04 VM. I recently (an hour ago) doubled its partition space, and it is completely full again:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.3G     0  1.3G   0% /dev
tmpfs           251M   24M  228M  10% /run
/dev/sda1        45G   43G     0 100% /
tmpfs           1.3G  8.7M  1.3G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.3G     0  1.3G   0% /sys/fs/cgroup
tmpfs           251M   44K  251M   1% /run/user/1000
tmpfs           251M     0  251M   0% /run/user/121

Is docker-compose not cleaning up completely after exit? Note: I have been spinning up and shutting down containers frequently for testing, which probably contributes to this issue.

@jonahoffline Thanks, I didn't consider to check the disk space allocated to my VM. I'd assumed it was issue with the container, not the host.

@estroz Containers are not automatically cleaned up, no, not unless you run them with --rm or whatever the docker-compose equivalent is for removal when finished. You can use docker rm to clean them up, tip: you don't have to type the full hash, the first few characters (as long as unique) will suffice.

I faced a similar issue today and i resolved it by expanding my /tmp directory which went into overflow mode due to no space left on device.

I restarted the VM with the EBS volume expanded.
then ran the following commands:
sudo umount /tmp
sudo mount -t tmpfs -o size=1048576000,mode=1777 overflow /tmp

The above assigns 1 GB as tmp size. After that, the docker-compose commands work fine.
This specific "Failed to write all bytes for _bisect.so" type errors were resolved for me.

or if you want to use the / partition as temp device storage,
sudo mkdir /data/tmp
sudo chmod 1777 /data/tmp
sudo rm /tmp
sudo ln -s /data/tmp /tmp

Thank you very much, work perfect for me

I ran into the same issue and solved it by removing old containers and volumes to free up some more space and then after a server reboot everything was fine

Really not sure why Docker needs to use _both_ /var and /tmp, but this is causing a ton of problems for me all of a sudden. Deleting containers and volumes makes no difference as they are all in /var, and thanks to not paying attention to the default partition sizes when I installed Debian the /tmp partition is only ~360 megs and keeps making docker-compose fail due to being full. This is pretty odd since this wasn't happening at all just a few days ago.

you should just input docker rm $(docker ps -a -q) && docker rmi $(docker images -q)

if you have same problem with a high probability this is due to the container

Left space in disk, the last thing that I could think

Cleaning garbage in the disk solved for me, thanks!

docker volume prune

WARNING! This will remove all local volumes not used by at least one container.

docker system prune

this will solve the issue

I had same issue but in my case it was unexpected problem with UNIX volume mounting. After restart my computer (remounting volumes) issue has been solved.

I had this problem, and I found out that for my case for some reason, I was out of free space.
I deleted a few files, and now everything is fine.

Confirming this happened to me Today.

☻ docker-compose up
INTERNAL ERROR: cannot create temporary directory!

Was running low on space:

☻  df -h
Filesystem      Size   Used  Avail Capacity  iused  ifree %iused  Mounted on
/dev/disk1     112Gi  110Gi  2.1Gi    99% 28778708 543018   98%   /

After removing a container...

☻  df -h
Filesystem      Size   Used  Avail Capacity  iused  ifree %iused  Mounted on
/dev/disk1     112Gi  110Gi  2.1Gi    99% 28778556 543170   98%   /

it works now!

TLDR; low hd space issue (2.1Gb). Hope this helps someone!

Thanks a lot!

Was this page helpful?
0 / 5 - 0 ratings