У меня возникла проблема при реализации моих инструментов DevOps с помощью Jenkinsfile и Dockerfile.
После многократного запуска моего конвейера на основе Jenkinsfile и использования docker объем памяти моего сервера продолжает расти. Когда я запускаю df -h
на моем linux сервере, я вижу, что существует множество файловых систем контейнеров, которых там быть не должно, потому что, как я вижу, они из промежуточного контейнера, созданного во время выполнения Jenkins трубопровод.
Я уже использую docker system prune
команды, но не могу освободить пространство этих "висящих" файловых систем. Если я перечислю все контейнеры и все изображения, на нем не будет отображаться висящий контейнер или изображение, которое использует это пространство. Я полагаю, что это связано с моим Dockerfile, который использует многоступенчатую сборку для создания промежуточного образа, а затем создает окончательное изображение на основе предыдущего, но я не уверен.
Вот изображение файловых систем что моя установка имеет:
Filesytems
Вот выдержка из моего Dockerfile:
FROM node:10.16.1 AS BUILDER
.
.
.
RUN npm run build
FROM node:10.16.1 AS ARTIFACT
.
.
COPY --from=BUILDER /origin /destination
EXPOSE port
CMD ["nginx", "-g", "daemon off;"]
Вот моя docker версия:
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:20:16 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.03.1-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:23:58 2018
OS/Arch: linux/amd64
Experimental: false
Linux дистрибутив моего сервера:
NAME="Red Hat Enterprise Linux Server"
VERSION="7.5 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.5"
PRETTY_NAME="Red Hat Enterprise Linux"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.5:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.5
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.5"
Кто-нибудь знает, как освободить пространство тех файловых систем, которые я не использую? И почему это происходит?
Спасибо!