Anonymous
Привет.
У меня есть доккер файл, в котором я хочу после старта контейнера подлить бэкап в mysql
FROM cswl/xampp
RUN /opt/lamp/bin/MySQL start && \
musql -uroot < init_db.sql
Anonymous
Ругается на mysql. Может я команду не так пишу?
Konstantin
Anonymous
ииии?
Konstantin
И точка
Konstantin
Не нужно это в образ засовывать, делай на этапе запуска
Anonymous
то есть разварачивания нельзя запихнуть туда?
Anonymous
на этапе запуска чего?
Konstantin
Anonymous
спасибо
Anonymous
как разварот базы запустить
Konstantin
😃
Anonymous
mysql --turnaround
Anonymous
можно ли в докер компоус развернуть базу?
Евгений
spirit
🏁Александр
BAAAAAAAA
подскажите, пожалуйста. как отладить эту ошибку? docker-compose build не собирается
ERROR: Service 'goip-sms' failed to build: The command '/bin/sh -c /goip_install/goip_install.sh' returned a non-zero code: 1
Konstantin
но это ошибка не докера
Andrey
little big
всем привет. Ребята, подскажите пожалуйста. У меня есть mongoDb которая крутится в swarm. Доступа с внешней сети к ней нету, только из внутренней сети сварма. Как мне сделать так, чтобы секьюрно к ней подключиться с локальной машины?
Andrey
ты забыл написать, что у локальной машины нет доступа в интернет и тебе ещё надо открыть с неё google.com
little big
точно. Так и есть
Konstantin
локальной для тебя или для сворма?)
Andrey
если у локальной машины нет доступа в интернет, но нужен гугл, то решением будет подключить интернет. Если приложение доступно из внутренней сети, надо огранизовать в неё доступ. Логично?
Konstantin
Andrey
я ему советую запустить с sh -xv, он же спрашивает, как отдебажить
little big
Andrey
а, то есть вы подозраваете, что есть какой-то волшебный механизм у swarm? Нет, нету. У k8s есть проброс портов из коробки через kubectl port-forward. Со swarm надо либо идти по ssh, либо выставлять сервис наружу, либо vpn организовывать. Всё как обычно, специфики swarm не приносит.
little big
spirit
docker заставляет нас разбираться до конца во всем. раньше было достаточно следовать инструкции, а теперь надо точно знать, что кому от кого и почему ;)
Konstantin
Andrey
я это всё в "выставить сервис наружу" запихал :)
little big
в том то и дело, что я не хочу "выставлять наружу" монго
Сергей
подскажите как правильно сделать вот так для переменных?
APP_URL=http://localhost
FACEBOOK_REDIRECT_URL=${APP_URL}/login/facebook/callback/
Сейчас это записывается именно так, а не подставляется как переменная
Igor
Привет. Вопрос по тому как готовить локальную разработку.
Допустим есть php приложение, для него билдим образ, ставим все необходимые модули, копируем в него исходный код, ставим зависимости композером и т.д. Получаем образ готовый в прод. Но его хочется разрабатывать.
По идее я беру этот же образ, в docker-compose.yml внаглую делаю volumes который перезаписывает тот код, что есть в образе, моим кодом из рабочего каталога. Проблема в том, что в этот момент стали неактуальные например мои composer.json зависимости. Можно конечно docker-compose exec ... composer install руками, но хочется лучше.
Мне видется что было бы хорошо, каждый раз когда я спулился, пепезапускать docker-compose, и он бы на всякий случай делал composer install или какую-нибудь другую подготовительную работу, миграции накатить там. Но уже после того как в нем с помощью volumes подменили src. Единственный вариант так сделать, как я понимаю, это переопределять дефолтную cmd: Делаем свой entrypoint, в нем делаем вспомогательные операции, а в конце не забываем дернуть entrypoint который был в образе по умолчанию, чтобы например запустить apache, как в базовом образе.
Сергей
Привет. Вопрос по тому как готовить локальную разработку.
Допустим есть php приложение, для него билдим образ, ставим все необходимые модули, копируем в него исходный код, ставим зависимости композером и т.д. Получаем образ готовый в прод. Но его хочется разрабатывать.
По идее я беру этот же образ, в docker-compose.yml внаглую делаю volumes который перезаписывает тот код, что есть в образе, моим кодом из рабочего каталога. Проблема в том, что в этот момент стали неактуальные например мои composer.json зависимости. Можно конечно docker-compose exec ... composer install руками, но хочется лучше.
Мне видется что было бы хорошо, каждый раз когда я спулился, пепезапускать docker-compose, и он бы на всякий случай делал composer install или какую-нибудь другую подготовительную работу, миграции накатить там. Но уже после того как в нем с помощью volumes подменили src. Единственный вариант так сделать, как я понимаю, это переопределять дефолтную cmd: Делаем свой entrypoint, в нем делаем вспомогательные операции, а в конце не забываем дернуть entrypoint который был в образе по умолчанию, чтобы например запустить apache, как в базовом образе.
Не надо volumes приложение должно быть изолированым
Konstantin
Привет. Вопрос по тому как готовить локальную разработку.
Допустим есть php приложение, для него билдим образ, ставим все необходимые модули, копируем в него исходный код, ставим зависимости композером и т.д. Получаем образ готовый в прод. Но его хочется разрабатывать.
По идее я беру этот же образ, в docker-compose.yml внаглую делаю volumes который перезаписывает тот код, что есть в образе, моим кодом из рабочего каталога. Проблема в том, что в этот момент стали неактуальные например мои composer.json зависимости. Можно конечно docker-compose exec ... composer install руками, но хочется лучше.
Мне видется что было бы хорошо, каждый раз когда я спулился, пепезапускать docker-compose, и он бы на всякий случай делал composer install или какую-нибудь другую подготовительную работу, миграции накатить там. Но уже после того как в нем с помощью volumes подменили src. Единственный вариант так сделать, как я понимаю, это переопределять дефолтную cmd: Делаем свой entrypoint, в нем делаем вспомогательные операции, а в конце не забываем дернуть entrypoint который был в образе по умолчанию, чтобы например запустить apache, как в базовом образе.
>в этот момент стали неактуальные например мои composer.json зависимости
с чего это?
Andrey
Привет. Вопрос по тому как готовить локальную разработку.
Допустим есть php приложение, для него билдим образ, ставим все необходимые модули, копируем в него исходный код, ставим зависимости композером и т.д. Получаем образ готовый в прод. Но его хочется разрабатывать.
По идее я беру этот же образ, в docker-compose.yml внаглую делаю volumes который перезаписывает тот код, что есть в образе, моим кодом из рабочего каталога. Проблема в том, что в этот момент стали неактуальные например мои composer.json зависимости. Можно конечно docker-compose exec ... composer install руками, но хочется лучше.
Мне видется что было бы хорошо, каждый раз когда я спулился, пепезапускать docker-compose, и он бы на всякий случай делал composer install или какую-нибудь другую подготовительную работу, миграции накатить там. Но уже после того как в нем с помощью volumes подменили src. Единственный вариант так сделать, как я понимаю, это переопределять дефолтную cmd: Делаем свой entrypoint, в нем делаем вспомогательные операции, а в конце не забываем дернуть entrypoint который был в образе по умолчанию, чтобы например запустить apache, как в базовом образе.
что мешает делать билд вместо подсовывания кода через volume? Раз уж ты всё равно будешь запускать composer install
spirit
Привет. Вопрос по тому как готовить локальную разработку.
Допустим есть php приложение, для него билдим образ, ставим все необходимые модули, копируем в него исходный код, ставим зависимости композером и т.д. Получаем образ готовый в прод. Но его хочется разрабатывать.
По идее я беру этот же образ, в docker-compose.yml внаглую делаю volumes который перезаписывает тот код, что есть в образе, моим кодом из рабочего каталога. Проблема в том, что в этот момент стали неактуальные например мои composer.json зависимости. Можно конечно docker-compose exec ... composer install руками, но хочется лучше.
Мне видется что было бы хорошо, каждый раз когда я спулился, пепезапускать docker-compose, и он бы на всякий случай делал composer install или какую-нибудь другую подготовительную работу, миграции накатить там. Но уже после того как в нем с помощью volumes подменили src. Единственный вариант так сделать, как я понимаю, это переопределять дефолтную cmd: Делаем свой entrypoint, в нем делаем вспомогательные операции, а в конце не забываем дернуть entrypoint который был в образе по умолчанию, чтобы например запустить apache, как в базовом образе.
у самого сейчас похожая задача. теряюсь в количестве подходов и вариантов решения этой задачи... дохожу до какой то точки и начинаю делать новый вариант... ¯\_(ツ)_/¯
Konstantin
что-то вы страдаете ерундой
Konstantin
docker run —rm -ti -v $(pwd):/workdir php
сиди работай
Сергей
собирайте всё в одном контейнере(веб+приложение) и запускайте себе на здоровье где угодно, зачем код сосать из папки то?
Igor
Сергей
Сергей
не заметил
spirit
да потому что так и есть... это получается как код писать. каждый dockerfile уникальный получается. если я хочу поставить сам с нуля только то что мне нужно и всю связку php, nginx, composer, xdebug, базы то получается множество вариантов как это можно сделать. разве не так?
Konstantin
да, человеки читают через строку
spirit
думаю у igor dodnar правильный подход в том плане, что он сначала написал для прода, а потом стал думать уже про локальную.
Stas
кто может помочь с докером в скайпе?Заплачу) apache2 mysql laravel
spirit
но это не точно ;) сам разбираюсь
spirit
и вообще хочется магии. когда я пишу в compose volumes я ожидаю что линки будут созданы с учетом dockerignore который лежит в директории конкретного собираемого образа...
Artem
Всем привет.
Не кто не подскажет как можно по простому две bridg подсети на разных host машинах связать между собой?
V 🏴☠️
yellow
я новичок в докере вопрос скорее всего тупой будет
как я понял, скачиваешь образ из docker hub, создаешь из него контейнер, в этом контейнере устанавливаешь зависимости которые тебе нужны и в нем разработываешь приложение
таким образом все происходит изолированно => когда зальешь его в докер хаб(по идее образ как-то нужно создать из контейнера в котором делал приложение) кто-нибудь может его скачать у запустить у себя
я правильно все понял?
когда создаешь контейнер как в него запихнуть какие-то файлы, по идее директория какая-то должна быть чтобы поудобней было
V 🏴☠️
Artem
Маршрутами
Не вариант
Вариантом может быть использование консула для поддержки одной подсети между разными хостмашинами
Евгений
Добрый вечер! Подскажите, пожалуйста, была ли у кого проблема с редисом (версия 4.0) в docker-compose? Ошибка Redis server went away, хотя redis работает, а из другого контейнера все пингуется.
Подключаюсь из контейнера с пхп, там SncRedisBundle (2.1) + расширение phpredis (3.1.6). Буду рад любой помощи, спасибо)
V 🏴☠️
V 🏴☠️
Если ты про connect, то это не оверлей
V 🏴☠️
V 🏴☠️
Это можно и без консула сделать
Artem
типо как?
V 🏴☠️
Типо любой оверлей
V 🏴☠️
Что получить в итоге хочется? Может тут вообще оверлей не нужен?
Artem
Ну в итоге что бы на разных машинах можно было обращаться к контейнерам по network alias
V 🏴☠️
Artem
Я туда и смотрю. Но нужен простой промежуточный етап просто.
Konstantin
Brommie
привет. Сбилдил го приложеньку, пихнул в scratch, а оно мне standard_init_linux.go:190: exec user process caused "no such file or directory"
Alexey
Alexey
Могу перевести, что написано
Alexey
Могу советом
Brommie
Советом)
Alexey
Запусти в каком-нибудь дебиан-контейнере, там ошибка будет более информативная