Anonymous
На этом канале отбирают только самые доходные и надежные ХАЙП проекты по заработку в интернете!
Ежедневная информационная сводка и полный обзор на каждый проект. Подпишись и начинай зарабатывать вместе с нами!
telegra.ph/Hajp-Monitoring-08-24
Роман
Вот думал, что справился с вопросом, но всё равно не выходит.
Вот docker-compose:
https://gist.github.com/rrubashkin/d1773eb7f92fa5a9fea9160c40e93f31
Вот nginx.conf
https://gist.github.com/rrubashkin/96487001161b21bb90646dee28db82ee
Локалхост выдаёт какой-то странный пустой файл, хотя должен попадать на phpinfo();
Кто-нибудь с подобным сталкивался?
Sergey
Добрый день, вопрос следующий, как реализовать компиляцию C# проекта на mono в Docker на этапе сборки контейнера, в последствии сохранив только исполняемые файлы и подключаемые библиотеки.
Dockerfile:
FROM mono:latest
COPY ./ /tmp/
RUN msbuild /tmp/Server.sln
RUN mkdir /opt/server
RUN cp /tmp/Server/bin/Debug/* /opt/server/
EXPOSE 8080
CMD ["bash", "mono /opt/server/Server.exe"]
Докер совершенно не хочет сохранять файлы полученные не в результате COPY, а в результате скриптов запушенных внутри контейнера. Есть ли какой-нибудь грязный хак чтобы это все красиво обойти без использования VOLUME? Заранее спасибо.
Alexey
Alexey
Кстати, что значит не хочет сохранять файлы?
Файлы получены на каком этапе? выполнения RUN в Dockerfile или после запуска контейнера?
Alexey
Sergey
Alexey
Но зато у тебя в образе меньше мусора будет. Можно всю dev-среду выкинуть и оставить только среду исполнения и сам сервер.
Alexey
Alexey
Sergey
Alexey
Marian
Приветствую. Какой storage-driver использвуют в основном?
Marian
Интересно, btrfs вроди неплохая. Но все же zfs ближе.
k
https://docs.docker.com/storage/storagedriver/zfs-driver/
>The ZFS on Linux (ZoL) port is healthy and maturing. However, at this point in time it is not recommended to use the zfs Docker storage driver for production use unless you have substantial experience with ZFS on Linux.
Roman
Roman
https://resources.codeship.com/hubfs/Codeship_7-Ways-to-Improve-Your-Test-Suite-with-Docker.pdf
bebebe
bebebe
location /cat-2 {
content_by_lua_block {
local prog = require'resty.exec'.new('/tmp/exec.sock')
local data,err = prog({argv = 'cat', stdin = 'awesome'})
if(err) then
ngx.say(err)
else
ngx.say(data.stdout)
end
}
}
вот такое получится
Dmitry
Marian
Sergey️
А у меня egg питоновский из репо не ставится что-то в контейнер, в чем может быть проблема?
Во время pip install - requirements.txt показывается что клонится в /src/reponame, а в pip freeze пакета нет
Может какое-то дело в вольюмах?
Sergey️
RUN mkdir /src
WORKDIR /src
COPY . /src/
RUN pip install -r requirements.txt
COPY . /src/
Sergey️
-e git+https://github.com/Kylmakalle/repo#egg=someegg
Dmitry
Sergey️
Когда-то казалось что без этого что-то ломалось
Sergey️
Sergey️
Пакет из яйца не ставится, там уж без разницы что в проекте)
Sergey️
Хм, похоже проблема была в /src/
Dmitry
не в яйцах дело?)
Sergey️
клонит если точнее
Andrey
Ребят, а на сколько это хреновая затея, совать фронтент в докер? Хочу доставлять на прод в едином стиле. Т.е. чтоб все компоненты были контейнерами. И вот с фронтом проблема. С одной стороны там тупо статика, с другой стороны, архивчики таскать не оч удобно.
Marian
Andrey
А что мешает?
даж не знаю. Вроде как лишний nginx получается
Andrey
не такая чтобы о ней думать)
Marian
Я тож тут строю систему на очень странной связке, но не думаю что будет все плохо.
Алексей
Алексей
У нас всех сервисов для разработчика домены *.test завёрнуты через dnsmasq на nginx-proxy
Andrey
Nginx-proxy и в него можешь скормить любой домен
не, я не совсем верно высказался. Там фронт ходит в апишку, и вот адрес апишки каким-то магическим образом должен быть указан до билда. И чтобы его сменить, нужен ребилд. React мать его...
Алексей
Andrey
Webpack?
Вроде вот из-за этой штуки https://github.com/axios/axios
Serg
Andrey
Алексей
в итоге при обращении к api юзай
axios.get(COOL_API_URL + '/api/getSomethings?param=foo')
Алексей
Andrey
Алексей
из environment
Andrey
а как задать environment если у меня просто куча статики сервится с nginx?
Алексей
который указываешь либо в docker-compose.yml или docker run -e COOL_API_URL=google.com
Алексей
так перед сборкой образа указываешь
Алексей
нужен dev/stage указываешь один эндпоинт
при прод сборке другой
Andrey
так перед сборкой образа указываешь
Так вот я и хочу уйти от пересборки образа. Потому что чисто технически у меня получается на каждом этапе свой билд. Могут поменяться либы в репозиториях, могут вообще пропасть репозитории и много других причин. Вот и хочу получить на этапе билда, кучку статики и просто переносить ее между env. Но чота пока хреново выходит)
Алексей
Алексей
Но как config.js появится в контейнере без пересборки?
Алексей
Можно
Andrey
Можно
А понимаю что вопрос не оч для тематики канала, но как?)
Алексей
А понимаю что вопрос не оч для тематики канала, но как?)
в одном сервисе мы делаем так
cat /tmp/default.tpl.conf | envsubst '${xxx_URL} ${yyy_API_URL} ${zzz_URL}' > /etc/nginx/conf.d/default.conf
данные берутся из env
фронт ходит только по урлам
/xxx/api/
/zzz/api/
а на уровне nginx мы уже рулим через proxy_pass конечные урлы до сервиса
Andrey
Алексей
ага
Алексей
а на nginx ты крути как хочешь
Andrey
А xxx и zzz это типо как поддиректории в которых лежит фронт, верно я понимаю?
tsv
Думаю да.
k
Anonymous
Хорошо
лучше, чем overlay2 ? тестировали ?)