Я наткнулся на исключение
openj9-openjdk-jdk9/.git/HEAD
Error processing tar file(exit status 1): write /root/openj9-openjdk-jdk9/.git/objects/pack/pack-203ba520304c417be0828d545d85ffd13566ac41.pack: no space left on device
и всплывающая диаграмма с надписью «/ root» доступна только для 672M при выполнении команды:
docker build -t openj9 -f Dockerfile .
Dockerfile -
FROM ubuntu:16.04
RUN apt-get update \
&& apt-get install -qq -y --no-install-recommends \
autoconf \
ca-certificates \
ccache \
cpio \
file \
g++-4.8 \
gcc-4.8 \
git \
git-core \
libasound2-dev \
libcups2-dev \
libelf-dev \
libfreetype6-dev \
libnuma-dev \
libx11-dev \
libxext-dev \
libxrender-dev \
libxt-dev \
libxtst-dev \
make \
openjdk-8-jdk \
pkg-config \
realpath \
ssh \
unzip \
wget \
zip \
&& rm -rf /var/lib/apt/lists/*
COPY openj9-openjdk-jdk9.tar.gz /root/
COPY freemarker.tgz /root/
# Create links for c++,g++,cc,gcc
RUN ln -s g++ /usr/bin/c++ \
&& ln -s g++-4.8 /usr/bin/g++ \
&& ln -s gcc /usr/bin/cc \
&& ln -s gcc-4.8 /usr/bin/gcc
# Download and setup freemarker.jar to /root/freemarker.jar
RUN cd /root \
# && wget https://sourceforge.net/projects/freemarker/files/freemarker/2.3.8/freemarker-2.3.8.tar.gz/download -O freemarker.tgz \
&& tar -xzf freemarker.tgz freemarker-2.3.8/lib/freemarker.jar --strip=2 \
&& rm -f freemarker.tgz \
&& tar xvf openj9-openjdk-jdk9.tar.gz \
&& rm -f openj9-openjdk-jdk9.tar.gz
WORKDIR /root
Ошибка возникает при выполнении tar xvf openj9-openjdk-jdk9.tar.gz
.
Что меня смущает, так это то, что раздел, в котором находится каталог /root
, по-прежнему имеет большое пространство, то есть 4.3G, как показано ниже.
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 778M 78M 701M 10% /run
/dev/sda1 32G 27G 4.3G 86% /
tmpfs 3.8G 113M 3.7G 3% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/6673
/dev/loop1 90M 90M 0 100% /snap/core/6818
/dev/loop2 141M 141M 0 100% /snap/webdingding/1
/dev/loop3 92M 92M 0 100% /snap/core/6531
/dev/loop4 254M 254M 0 100% /snap/electronic-wechat/7
/dev/sda6 31G 1.1G 29G 4% /opt
/dev/sda5 38G 25G 11G 71% /home
/dev/sdb7 52G 25G 25G 50% /home_bak
/dev/sdb5 37G 28G 7.4G 79% /backup
/dev/sdb8 81G 68G 8.8G 89% /opt1
/dev/sdb6 97G 72G 20G 79% /other
cgmfs 100K 0 100K 0% /run/cgmanager/fs
tmpfs 778M 172K 778M 1% /run/user/1000
Итак, два моих главных вопроса:
Как понять путь в контейнере? Является ли путь контейнера /root
таким же, как абсолютный путь /root
на хост-машине, или он сопоставлен с некоторыми другими путями на хост-компьютере?
Решение проблемы. Я попробовал этот , но не получилось. Поскольку файл журнала контейнера был очень маленьким
root @ shijie: ~ # du -d1 -h / var / lib / docker / container
40K /var/lib/docker/containers/f41f43b5a4372dda5e2aba71c3ae8cc58170b2f13183e22942fa62747910ac7a
44K /var/lib/docker/containers
[Update]
Я также очистил containers
и images
, а затем повторно выполнил команду, и результат тот же.
sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f41f43b5a437 b68439663072 "/bin/sh -c 'cd /roo…" 2 hours ago Exited (0) 2 hours ago brave_albattani
sudo docker rm f41f43b5a437
sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> b68439663072 2 hours ago 1.66GB
ubuntu 16.04 a3551444fc85 2 weeks ago 119MB
sudo docker rmi b68439663072 a3551444fc85
sudo docker images -aq -f 'dangling=true'
## Нет оборванных изображений ..
![popup diagram](https://i.stack.imgur.com/tZ6Ed.png)