George
как насчет автоматизации добавления сертификатов.
Mikhail
но вообще, конечно, правильнее - полностью переписать их докер файл
даже не переписать, добавить описанные выше директивы:)... арбайтен
hostmit
docker build ${context_folder} -> копирует эту папку или линкует для билда?
hostmit
я вижу что она попадает в /var/lib/docker/tmp/BUILD_NUMBER
hostmit
как я понимаю клиент отправляет демону эти файлы копированием
hostmit
ага, нашёл в доках - tar-ит контекст фолдер и шлёт докер демону.
hostmit
Товарищи, если я делаю docker-compose build service-name, а у другого сервиса, хотя мы его и не собираем отсутствует папка context он валится. Можно обойти?
hostmit
Нет. В том то и прикол. Нет зависимостей вообще
George
хотя бы context: .
George
а он в зависимостях сидит у service-name?
build - билдит все указанные образа, как я помню
hostmit
Да. Но у меня в зависимости от ситуации не все сервисы билдятся и соответственно не для всех контекст есть (папка). И таки да, придется создать пустые похоже
hostmit
Билду можно указать какие конкретно ты хочешь билдить
hostmit
У меня в гитлаб есть вариабл, где они указывают сервисы которые им нужны для конкретного энва (скоуп)
hostmit
На основании него запускается dco build service1 service2 ... И такой же up
George
логично, но это надо явно передавать
George
а еще лучше - переделать на баш или мейкфайл - будет больше возможности контролировать процесс
Alexandra
Всем привет, подскажите, в чем может быть проблема? При билде из Dockerfile мне нужно также собрать еще Makefile. В предыдущих шагах все прекрасно работает, а на последнем падает, в мейкфайле есть такая строка: PATH:=$(shell locate myproject/src/ | head -n 1 | sed 's|\(.*\)/.*|\1|'). Ожидаемый результат: локейт находит путь к моему другому проекту, который до этого был спуллен и сбилжен в предыдущих шагах, но этого не происходит. mlocate установлен, делаю все на образе убунты 18:04. Проверила шелл -- используется dash, если делать reconfigure или использовать баш, все равно ничего не работает. В чем может быть проблема?
Alexandra
Причем если делать все вне образа, работает на ура.
Alexandra
привет, проверь вывод команды, разбей вывод shell locate на отдельные вызовы и разберись, где ломается
А, лог отвалился, вот: ---> Running in 5c9e24321221 /bin/sh: 1: locate: not found Makefile:31: /makefiles/default_rules.mk: No such file or directory make: *** No rule to make target '/makefiles/default_rules.mk'. Stop. The command '/bin/sh -c cd src/ && make' returned a non-zero code: 2
Alexandra
А можно как-то переменную окружения использовать после того, как билд на предыдущем шаге прошел? Мне надо сохранить путь внутри контейнера к проекту, который до этого мейкфайлом собрался внутри, а он его не видит, почему-то
su
Хм, попробую
пример скинуть, как из одного sh скрипта в другой перекинуть значение или найдешь? )))
su
мм?))
посмотри чарли и шоколадная фабрика. а я тут гномиком подрабатываю
Alexandra
Спасибо!!
su
Спасибо!!
пожалуйста, если не заведется, скорее всего просто другой интерпретатор, у нас на базе образа ubuntu 18.04. на мелочах не экономим, а там bash, sudo, обновление образа, все дела
Petr
Современное программирование
Petr
3 вкладки стаковерфлоу не достаточно
su
3 вкладки стаковерфлоу не достаточно
ну, там если присмотреться, то девопсом попахивает - azure иконка, почтоый сервер axigen, godaddy, microsoft docs, putty docs, docker docks и половинка слева - flask docs, потому что я на python flask sqlalchemy с блекджеком и marshmallow
Petr
Ну development operation
Petr
Все равно программирование
Petr
А python
Alexandra
Так, а где почитать, как этим пользоваться? Сорри, я просто совсем недавно в оркестрации, хочу понять, как это в связке использовать
su
Так, а где почитать, как этим пользоваться? Сорри, я просто совсем недавно в оркестрации, хочу понять, как это в связке использовать
я на оф сайте докера читаю про использование sh скрптов, но вот есть пример такой docker-compose up -d docker cp ./ test-runner:/app docker-compose exec base bash -c "mkdir -pv ./acceptance-tests/error && sudo touch ./acceptance-tests/error/error.log && sudo chmod +x ./bin/run_acceptance_tests_in_docker.sh && sudo ./bin/run_acceptance_tests_in_docker.sh" docker-compose down
su
ну то есть подключаешься образу, в котором что-то надо выполнить, выполняешь скрипты, отключаешься, все в докере. если ошибка - вылетит из-за set -e, или так-же можно через #!/bin/bash -e
Alexandra
ага, поняла
Stripe
так кой вопрос, есть 2 папки, там 2 разных проекта. демон на ноде и апишка. Все будет лежать на одной хост нашине Так вот собственно вопрос. Раньше все было у меня в одном докер сомпоз файле(все сервисы и апишка и демон на ноде) и я мог указывать просто зависимость так depends_on: - dbПотом я решил их разнести по разным папкам, сделал отдельную папку апишки(там сервисы php и db) и папку с демоном для node js). Как сдеть зависимость демона ноды от сервса db в апишке, если они настраиваються разными докер екомпоз файлами? вот композ файлы https://gist.github.com/pashaworks/1921aa047ed09114ebf3f0d5e926d0b3 Подскажите пожалуйста.
White
люди добрые, как побороть: http://prntscr.com/qig1qo
George
Аргументация. Локейт работает через регулярную тачку крона, которая билдит базу со списком файлов в системе
Alexandra
George
Ес-но, что в момент билда этого всего нет
George
эта утилита используется в мейкфайле
А кто его писал ? Руки оторвать. Попробуйте перед запуском мейкфайла сделать updatedb 🤷‍♂
Alexandra
так к моменту, когда доходит до мейкфайла, уже это все собрано
Alexandra
а еще вопрос такой
George
Для надёжного поиска файлов используйте утилиту find
George
find myproject/src -type f -name 'blablabla'
George
Как-то так 🤷‍♂
Alexandra
могу ли я сохранить в переменную окружения путь к чему-то, что скомпилось внутри образа, чтобы дальше использовать?
Alexandra
find myproject/src -type f -name 'blablabla'
type -f найдет файлы, а type -d должен искать директорию, но не ищет
George
Да - можно придумать костыли
Alexandra
Нет - в докере штатного метода нет
вот обидно, а то я пыталась нагуглить и не могу найти
George
Типа RUN blablabla > my.sh
Alexandra
какие самые рабочие костыли?
George
В дальнейших шагах RUN source my.sh && ... && ...
Alexandra
Типа RUN blablabla > my.sh
хммм и в скрипте этом звать уже мейкфайл к примеру?
George
Мы find очень много что делаем. Никогда не подводил ) бывают сложности с использованием, т.к у утилиты 100500 аргументов. Но в справке все описано
Alexandra
вот тут немного неясно
Alexandra
Типа RUN blablabla > my.sh
Alexandra
В дальнейших шагах RUN source my.sh && ... && ...
George
Ну, у вас интерпретатор существует в рамках одного блока RUN
Alexandra
точно