Docker-compose не может удалить пакеты - PullRequest
0 голосов
/ 10 июня 2019

Вот пример проблемы:

Dockerfile:

FROM python:3.6.3

RUN pip install apache-airflow[crypto,celery,postgres,hive,jdbc]=1.9.0

COPY requirements.txt /
RUN pip install -r /requirements.txt

requirementx.txt:

pytz==2017.3

Когда я запускаю docker-compose -f test.yml build, он приступает к установке apache-airflow и списку зависимых библиотек, которые он обнаруживает. Одной из таких библиотек в данном случае является pytz-2019.1. Когда он попадает в строку pip install -r /requirements.txt, он обнаруживает, что версия 2019.1 уже установлена, поэтому он идет вперед и пытается удалить ее, вот когда я получаю следующие ошибки:

  Found existing installation: pytz 2019.1
    Uninstalling pytz-2019.1:
ERROR: Could not install packages due to an EnvironmentError: [Errno 39] Directory not empty: '/usr/local/lib/python3.6/site-packages/pytz-2019.1.dist-info/'

ERROR: Service 'flower' failed to build: The command '/bin/sh -c pip install -r /requirements.txt' returned a non-zero code: 1

Обходное решение, которое я проделал до сих пор, состоит в том, чтобы переместить строку pip install -r /requirements.txt над строкой pip install apache-airflow, чтобы не нужно было удалять какие-либо библиотеки. Мне было интересно, почему не работает деинсталляция? Это просто упрощенная версия проблемы, но по существу любые шаги, требующие удаления, не работают.

Дополнительная информация: - побежал от имени пользователя root - вывод информации о докере:

Containers: 6
 Running: 6
 Paused: 0
 Stopped: 0
Images: 131
Server Version: 17.12.1-ce
Storage Driver: overlay
 Backing Filesystem: xfs
 Supports d_type: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local local-persist
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: active
 NodeID: yheeakrhdoo3ep5mku3vbhnpl
 Is Manager: true
 ClusterID: sqaigfmafaxut9ulddldcz1o0
 Managers: 1
 Nodes: 1
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
  Force Rotate: 0
 Autolock Managers: false
 Root Rotation In Progress: false
 Node Address: xx.xxx.xx.xx
 Manager Addresses:
  xx.xxx.xxx.xx:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9b55aab90508bd389d7654c4baf173a981477d55
runc version: 9f9c96235cc97674e935002fc3d78361b696a69e
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 3.10.0-229.el7.x86_64
Operating System: Red Hat Enterprise Linux Server 7.5 (Maipo)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 7.641GiB
Name: xxxx
ID: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
Docker Root Dir: /opt/docker/var-lib
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

WARNING: overlay: the backing xfs filesystem is formatted without d_type support, which leads to incorrect behavior.
         Reformat the filesystem with ftype=1 to enable d_type support.
         Running without d_type support will not be supported in future releases.
WARNING: bridge-nf-call-ip6tables is disabled

Я заменил некоторую информацию на ххх.

Любая помощь будет принята с благодарностью.

Спасибо, -К

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...