[GH-ISSUE #208] Dockerfile #158

Closed
opened 2026-10-13 19:50:10 +00:00 by bsakaguchi · 11 comments
Owner

Originally created by @Melov on GitHub (Mar 24, 2017).
Original GitHub issue: https://github.com/werwolfby/monitorrent/issues/208

За основу взят alpine, используется python3, собирается из стабильной версии
репозиторий с Dockerfile лежит здесь: https://github.com/Melov/monitorrent-alpine
автоматическая сборка здесь: https://hub.docker.com/r/melov/monitorrent/

Originally created by @Melov on GitHub (Mar 24, 2017). Original GitHub issue: https://github.com/werwolfby/monitorrent/issues/208 За основу взят alpine, используется python3, собирается из стабильной версии репозиторий с Dockerfile лежит здесь: https://github.com/Melov/monitorrent-alpine автоматическая сборка здесь: https://hub.docker.com/r/melov/monitorrent/
Author
Owner

@werwolfby commented on GitHub (Mar 24, 2017):

А может тогда пул реквест на https://github.com/werwolfby-docker/armhf-alpine-monitorrent?
Просто зачем плодить образы?
Ну и сам образ: https://hub.docker.com/r/werwolfby/alpine-monitorrent/

<!-- gh-comment-id:288952551 --> @werwolfby commented on GitHub (Mar 24, 2017): А может тогда пул реквест на [https://github.com/werwolfby-docker/armhf-alpine-monitorrent](https://github.com/werwolfby-docker/armhf-alpine-monitorrent)? Просто зачем плодить образы? Ну и сам образ: https://hub.docker.com/r/werwolfby/alpine-monitorrent/
Author
Owner

@Melov commented on GitHub (Mar 24, 2017):

хорошо, сделаю пулл реквест туда, просто приписка armhf немного смутила, образ я собирал под х64, по идее он должен работать под любой архитектурой

<!-- gh-comment-id:288975907 --> @Melov commented on GitHub (Mar 24, 2017): хорошо, сделаю пулл реквест туда, просто приписка armhf немного смутила, образ я собирал под х64, по идее он должен работать под любой архитектурой
Author
Owner

@Melov commented on GitHub (Mar 24, 2017):

если у вас есть возможность, проверьте, возможна ли установка моего образа на armhf и x86, в таком случае можно будет просто настроить автоматическую сборку из одного Dockerfile

<!-- gh-comment-id:288978864 --> @Melov commented on GitHub (Mar 24, 2017): если у вас есть возможность, проверьте, возможна ли установка моего образа на armhf и x86, в таком случае можно будет просто настроить автоматическую сборку из одного Dockerfile
Author
Owner

@werwolfby commented on GitHub (Mar 24, 2017):

И как вы себе это представляете?
Это точно не будет работать на ARM, я конечно проверю (но только завтра получится), но даю 99.999% что он не заработает. Потому что бинарники python скомпилированны под x86 архитектуру.

Именно по этому я и собирал 2 разных образа.

Когда-то у меня была попытка собрать один образ, но для x86 использовался qemu для эмуляции arm, частично работало, но иногда падало с segmentation fault я не стал далеко копать потому что в любом случае эмуляция это зло.

А архитектуры arm и x86 слишком разные, чтобы оно могла заработать. И именно поэтому у нас 2 разных докер файла, которые в принципе отличаются только базовым образом, но оба базируются на alpine

<!-- gh-comment-id:289037127 --> @werwolfby commented on GitHub (Mar 24, 2017): И как вы себе это представляете? Это точно не будет работать на ARM, я конечно проверю (но только завтра получится), но даю 99.999% что он не заработает. Потому что бинарники `python` скомпилированны под `x86` архитектуру. Именно по этому я и собирал 2 разных образа. Когда-то у меня была попытка собрать один образ, но для `x86` использовался `qemu` для эмуляции `arm`, частично работало, но иногда падало с `segmentation fault` я не стал далеко копать потому что в любом случае эмуляция это зло. А архитектуры `arm` и `x86` слишком разные, чтобы оно могла заработать. И именно поэтому у нас 2 разных докер файла, которые в принципе отличаются только базовым образом, но оба базируются на `alpine`
Author
Owner

@Melov commented on GitHub (Mar 24, 2017):

в моем Dockerfile в качестве базовой используется чистый alpine, на который уже ставятся нужные пакеты (python3, curl и wget). Принцип по которому Docker выбирает разрядность окружения мне неизвестен, а протестировать сборку x86 и armhf не на чем.
И здесь дело не в архитектуре приложения (наврятли вы используете какие то особенности архитектуры внутри приложения) а в архитектуре базового образа. если подскажете, как можно сэмулировать armhf на x64 я могу оттестировать этот сценарий сам.

<!-- gh-comment-id:289042116 --> @Melov commented on GitHub (Mar 24, 2017): в моем Dockerfile в качестве базовой используется чистый alpine, на который уже ставятся нужные пакеты (python3, curl и wget). Принцип по которому Docker выбирает разрядность окружения мне неизвестен, а протестировать сборку x86 и armhf не на чем. И здесь дело не в архитектуре приложения (наврятли вы используете какие то особенности архитектуры внутри приложения) а в архитектуре базового образа. если подскажете, как можно сэмулировать armhf на x64 я могу оттестировать этот сценарий сам.
Author
Owner

@werwolfby commented on GitHub (Mar 24, 2017):

А под что как вы думаете скомпилирован чистый alpine? Там же чистые бинарники скомпилированные под платформу, docker тут никак не помогает, совсем.
Как раз для уменьшения количества образов все и переделано на официальный образ самого python, который лучше знает как красиво установить питон на alpine и как за собой почистить. Образ monitorrent тоже когда-то был на чистом alpine. Хотя вот для arm он все еще на нем, но я уже ищу варианты не моего базового образа.
Я все еще не за компом и не могу проверить arm версию, сделаю утром.

<!-- gh-comment-id:289155438 --> @werwolfby commented on GitHub (Mar 24, 2017): А под что как вы думаете скомпилирован чистый alpine? Там же чистые бинарники скомпилированные под платформу, `docker` тут никак не помогает, совсем. Как раз для уменьшения количества образов все и переделано на официальный образ самого `python`, который лучше знает как красиво установить питон на `alpine` и как за собой почистить. Образ `monitorrent` тоже когда-то был на чистом `alpine`. Хотя вот для `arm` он все еще на нем, но я уже ищу варианты не моего базового образа. Я все еще не за компом и не могу проверить `arm` версию, сделаю утром.
Author
Owner

@werwolfby commented on GitHub (Mar 25, 2017):

К сожалению чуда не произошло 😞

docker run --rm melov/monitorrent
Unable to find image 'melov/monitorrent:latest' locally
latest: Pulling from melov/monitorrent

627beaf3eaaf: Pull complete 
72ea44fbb809: Pull complete 
48e60af8165d: Pull complete 
f09382d36323: Pull complete 
b35d7b8534b3: Pull complete 
b506ea2c5c64: Pull complete 
a5c9969f743b: Pull complete 
f67b99c0950f: Pull complete 
bacc1c7568ee: Pull complete 
0dcdd61ba7c1: Pull complete 
10f6915225b5: Pull complete 
98b024471c4c: Pull complete 
Digest: sha256:e4001c3f7793c6581b646d7c3a462214ebbdfac95480c42d357e3e44ba6c4b55
Status: Downloaded newer image for melov/monitorrent:latest
docker: Error response from daemon: rpc error: code = 2 desc = "oci runtime error: exec format error".
<!-- gh-comment-id:289206479 --> @werwolfby commented on GitHub (Mar 25, 2017): К сожалению чуда не произошло 😞 ```bash docker run --rm melov/monitorrent Unable to find image 'melov/monitorrent:latest' locally latest: Pulling from melov/monitorrent 627beaf3eaaf: Pull complete 72ea44fbb809: Pull complete 48e60af8165d: Pull complete f09382d36323: Pull complete b35d7b8534b3: Pull complete b506ea2c5c64: Pull complete a5c9969f743b: Pull complete f67b99c0950f: Pull complete bacc1c7568ee: Pull complete 0dcdd61ba7c1: Pull complete 10f6915225b5: Pull complete 98b024471c4c: Pull complete Digest: sha256:e4001c3f7793c6581b646d7c3a462214ebbdfac95480c42d357e3e44ba6c4b55 Status: Downloaded newer image for melov/monitorrent:latest docker: Error response from daemon: rpc error: code = 2 desc = "oci runtime error: exec format error". ```
Author
Owner

@Melov commented on GitHub (Mar 25, 2017):

да, и правда жаль, хоть и собирался образ средствами Docker Hub

<!-- gh-comment-id:289213862 --> @Melov commented on GitHub (Mar 25, 2017): да, и правда жаль, хоть и собирался образ средствами Docker Hub
Author
Owner

@werwolfby commented on GitHub (Mar 25, 2017):

Ну докер хаб не умеет в arm.
Поэтому и собираю все руками.

<!-- gh-comment-id:289219193 --> @werwolfby commented on GitHub (Mar 25, 2017): Ну докер хаб не умеет в `arm`. Поэтому и собираю все руками.
Author
Owner

@werwolfby commented on GitHub (Mar 27, 2017):

@Melov, так что делаем дальше?
Если есть предложения по улучшению образа то я только за, и с радостью приму пул реквесты.
Необходимости в вашем образе я не вижу.

<!-- gh-comment-id:289614074 --> @werwolfby commented on GitHub (Mar 27, 2017): @Melov, так что делаем дальше? Если есть предложения по улучшению образа то я только за, и с радостью приму пул реквесты. Необходимости в вашем образе я не вижу.
Author
Owner

@werwolfby commented on GitHub (Apr 2, 2017):

@Melov, я закрываю эту ишью, и жду пулл реквестов на докерфайл.

<!-- gh-comment-id:290973195 --> @werwolfby commented on GitHub (Apr 2, 2017): @Melov, я закрываю эту ишью, и жду пулл реквестов на докерфайл.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
werwolfby/monitorrent#158
No description provided.