Size: a a a

Docker — русскоговорящее сообщество

2020 September 02

GG

George Gaál in Docker — русскоговорящее сообщество
питон тебе зачем
источник

ch

central hardware in Docker — русскоговорящее сообщество
Kid
Добрый день. Подскажите по такому вопросу. Могу ли я в Dockerfile с имеющимся в нем FROM yandex/clickhouse-server еще закинуть python?
У меня сейчас написано через RUN скачивание питона, его разархивирование и установка.
Но так как все в gitlab происходит долго(некий gcc thread долго происходит), как я понял каждый раз происходит скачивание и установка питона и это занимает время, могу ли я как-то еще подсунуть готовый docker image к уже имеющемуся из FROM yandex/clickhouse-server?
Прочитал, что это делает как-то в gitlab registry, мб есть подробнее статья? Пока ничего похожего не нашел(
docker по идее должен слой с питоном закешировать
источник

K

Kid in Docker — русскоговорящее сообщество
George Gaál
питон тебе зачем
там приложение ставится python setup.py install
источник

K

Kid in Docker — русскоговорящее сообщество
central hardware
docker по идее должен слой с питоном закешировать
докер да, локально вроде так и делает, пропускает этот шаг при билде. А вот в gitlab каждый раз все это происходит. Хотелось бы тоже каким-то образом закэшировать. Только хз как, только начинаю в этом разбираться
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Я пока не понимаю, что ты хочешь сделать ) но ок, подсунь питон в кликхаус, ок
источник

K

Kid in Docker — русскоговорящее сообщество
George Gaál
Я пока не понимаю, что ты хочешь сделать ) но ок, подсунь питон в кликхаус, ок
я хочу как-то наследоваться в образ кликхауса еще и питон. чтобы он каждый раз не собирался в гитлабе, а как бы наследовался что ли.
источник

K

Kid in Docker — русскоговорящее сообщество
честно, не знаю как это правильно называется
источник

GG

George Gaál in Docker — русскоговорящее сообщество
нет, нормально это не сделать будет ) придется как-то кэш юзать самого гитлаба
источник

GG

George Gaál in Docker — русскоговорящее сообщество
т.е. вопрос вовсе не про докер
источник

ch

central hardware in Docker — русскоговорящее сообщество
Multistage можно попробывать прикрутить
источник

K

Kid in Docker — русскоговорящее сообщество
George Gaál
нет, нормально это не сделать будет ) придется как-то кэш юзать самого гитлаба
вот пример моего  dockerfile
и я хочу чтобы часть с питоном каждый раз не выполнялась, а каким то образом была в гитлабе, и потом я просто тоже наследуюсь от нее и все.
можно это как-то сделать?

FROM yandex/clickhouse-server:20.1.3.7

RUN apt-get update -y -qq && \
   apt-get install -y -qq build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev curl

RUN cd /opt && mkdir app &&\
   curl -O https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz && \
   tar -xf Python-3.6.8.tar.xz && cd Python-3.6.8 && \
   ./configure && make && make install && \
   update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.6 10 && \
   cd ../ && rm -rf ./Python-3.6.8 && rm -rf ./Python-3.6.8.tar.xz

RUN python3 -m pip install --upgrade pip && \
   python3 -m pip install wheel

ADD . /

RUN python3 setup.py install && cd /opt/ && rm -rf ./app
источник

GG

George Gaál in Docker — русскоговорящее сообщество
docker build
docker push

потом при следующей сборке
docker pull то_что-ты_набилдил
docker build —from-cache то_что-ты-набилдил
docker push
источник

K

Kid in Docker — русскоговорящее сообщество
George Gaál
docker build
docker push

потом при следующей сборке
docker pull то_что-ты_набилдил
docker build —from-cache то_что-ты-набилдил
docker push
ага, и потом можно делать docker run?
мне подсказали, что можно как-то в registry gitlab часть с питоном положить, такое возможно?
источник

GG

George Gaál in Docker — русскоговорящее сообщество
docker push можно делать в registry, хоть в гитлабовский
источник

K

Kid in Docker — русскоговорящее сообщество
George Gaál
docker push можно делать в registry, хоть в гитлабовский
то есть тут:
docker build
docker push в registry gitlab?
источник

GG

George Gaál in Docker — русскоговорящее сообщество
можно
источник

K

Kid in Docker — русскоговорящее сообщество
George Gaál
можно
а потом уже в gitlab-ci
docker pull из того что я зупушил в регистри?
источник

GG

George Gaál in Docker — русскоговорящее сообщество
как один из вариантов
источник

GG

George Gaál in Docker — русскоговорящее сообщество
тут одного верного способа нет, есть куча разных - берешь, который подходит
источник

K

Kid in Docker — русскоговорящее сообщество
George Gaál
как один из вариантов
понял, попробую то, что описали
Спасибо!
источник