Alexander
Вопрос немного не в тему, как удалить текущую папку в которой лежать файл, а все файлы перенести на уровень где лежала папка, с помощью cp
Alexander
Что то я запутался
Alex
А подскажите такую штуку. Есть контейнер с накстом, который привязан к домену. Есть контейнер с нгинксом, где этот домен обрабатывается. А как сказать контейнеру с накстом по этому домену ходить в контейнер с нгинксом? Если в /etc/hosts задать ип контейнера нгинкса, то все отлично работает. Но, кажется, это лютый костыль. Есть более гуманные решения?)
Alex
Смотрел в сторону dns_search, но как-то не разобрался. Оно ли это?
George
у тебя в энтрипойнт что? если /bin/sh -c, то ты попал
George
😊
George
но вообще в компоузе есть extra_hosts ключ... можно им воспользоваться
Vladislav
4482166788781
Alex
docker exec -it smart-routing-backend bash
Alex
и все ок
Alex
если руками выполнить MIX_ENV=prod elixir --sname smartr -S mix phx.server - то все ок
Alex
но если в CMD задаю то не как
George
ну епть
George
еще раз
George
у тебя в энтрипойнт есть нечто
George
обычно это /bin/sh
George
тебе чтобы твоя команда отработала
George
она должна выглядеть полностью как
Alex
> А как сказать контейнеру с накстом по этому домену ходить в контейнер с нгинксом? зачем?
Накст билдит жиес файлы с привязкой к домену. Соответственно, когда пытаешься его открыть - он просто не понимает куда отправлять запросы и падает с 500 потому что name not resolved. И задача отрезолвить его на контейнер нгинкса
George
/bin/sh -c "MIX_ENV=prod elixir --sname smartr -S mix phx.server"
George
дальше распиливаешь на ENTRYPOINT и CMD - т.е. 3 аргумента....
George
либо второй вариант
Alex
у меня миграции до этого делаються
Alex
docker-compose run --entrypoint="/bin/bash -lc" --rm smart-routing-backend "MIX_ENV=prod mix ecto.create"
Alex
поэтому тут нужен bash
George
короче. то что я сказал - никак не отменяет того, что у тебя происходит
Alex
можно же так
Alex
CMD ["/bin/sh", "-c", "MIX_ENV=prod elixir --sname smartr -S mix phx.server"]
George
можно
MⅨ
Вопрос а зачем тут —from? COPY --from=build /app/build /usr/share/nginx/html
MⅨ
Разве и так не понятно что /app/build
Kamil
странный вопрос
MⅨ
потому что из билдера
То есть? Я просто не хочу гадать
MⅨ
FROM node:11.1.0-alpine as build
Andrew
https://docs.docker.com/develop/develop-images/multistage-build/
MⅨ
Спасибо
Alex
> А как сказать контейнеру с накстом по этому домену ходить в контейнер с нгинксом? зачем?
Разобрался. Я пока не понимаю, какой магией, но если сделать: links: - nginx:domain.com Домен будет резолвиться в контейнере nginx. Как он туда направляет только, хз. /etc/hosts - пусто. /etc/resolv.conf - так же
George
Ибо Линкс фуфуфуфу
George
Не Линукс, а линкс
hostmit
Товарищи, линканите болталку, нужно про мониторы спросить.
Anonymous
привет, немножко не понимаю. хотел не использовать Dockerfile и прописать команды RUN из него в docker-compose.yml, но прикол в том что используя Dockerfile ошибок нет, а используя docker-compose возвращает коды 100 и 0. RUN из Dockerfile это command в docker-compose.yml?
George
command в докер #компост - это CMD в докерфайл
Anonymous
command в докер #компост - это CMD в докерфайл
а какая тогда альтернатива RUN в docker-compose, если такая есть?
George
Максимально близко по смыслу - делать docker exec в работающий контейнер
Anonymous
Нет таковой. У них разные задачи
жаль коненчо, но спасибо, теперь понятнее. хотел еще спросить, использую 3 образа в docker-compose.yml, mariadb php adminer, можно как-то определить localhost для php что бы не стучать по айпи и порту? я не использую в данном случае фреймворк, по этому указать имя контейнера не могу извиняюсь, если вопросы глупые, пока вникаю лишь в docker
Anonymous
Стучать куда ? Не совсем понял
ну смотри мне подключаться к бд нужно, pdo или mysqli, нужно делать конект, и там передавать ip и порт для подключения, db: image: mariadb:5.5.56 command: --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci restart: always environment: MYSQL_ROOT_PASSWORD: root ports: - 3322:3306 приходится использовать такой хост 192.168.1.4:3322
George
Контейнер с контейнером взаимодействуют по имени
George
А с хоста .. можно по localhost:3322 коннектить
Anonymous
Контейнер с контейнером взаимодействуют по имени
в данном случае я этого не понимаю, можно пример?
George
Короче. Надо писать вместо ip - db и порт стандартный
George
Я более просто в принципе объяснить не смогу
Anonymous
Короче. Надо писать вместо ip - db и порт стандартный
все разобрался, методом научного тыка
Anonymous
спасибо что подсказал
Dmitry
Столкнулся с тем, что СУБД MariaDB помещённая в Контейнер, увеличивает время запросов на порядок. Собирается - максимально просто mariadb: image: mariadb:10.1.43 restart: on-failure volumes: - ${PWD}/mariadb/DB:/var/lib/mysql ports: - 3306:3306 restart: on-failure environment: MYSQL_ROOT_PASSWORD: "%%%%" networks: NETWORK: ipv4_address: ${IP_DB}Если СУБД на хосте банальный селект - 0.3 сек, Если СУБД в контейнере - 20 сек. Так же не должно быть. Да?
Dmitry
Может быть кто-то сталкивался?
George
Запусти в host network mode и проверь ещё раз
George
значит проблема не в сети, а в сторедже. Видимо, вольюмы тормозят
Dmitry
Какая разница вольюмам? База на этой же тачке. Разница, что одни запросы с хостовой системы, другие из контейнера. P.S. Рядом есть монга, которая прекрасно себя чувствует в контейнере без подобных падений производительности.
George
есть разница.
George
поверь - там 100 и 1 причина почему может тормозить
George
сеть, диск, субоптимальные настройки в контейнере (там дефолты говно), может лимиты на контейнер какие... фиг знает
Victor
коллеги, добрый вечер есть у кого-то опыт успешного запуска в docker java-приложений + JCP 2.0 ?
Dmitry
Глобально, там хранилка, из довольно медленных дисков, но проблема - только в Maria. Я, наивно думаю, что если проблема бы была в оборудовании, то она бы появилась в других базах типа Эластика и монго рядом. По идее сокет докера - не должен на это как-то влиять Сеть бы липла, если бы там было как-то разнесено по хостам. Я, даже грешил на образ, но если собирать самому - тоже самое. У меня кончились идеи(
George
Посмотри это
Anonymous
делаю docker-compose down мне сообщает следующее Removing network gdalker_default WARNING: Network gdalker_default not found. каким образом мне разобраться с этой ошибкой?