@docker_ru

Страница 556 из 1375
Maxim
15.04.2018
10:46:46
Классный гайд нашел по локальной разботке с использованием докера: https://muracon18.bretfisher.com/#1 Для начинающих думаю будет очень полезно

народ, подскажите, а сейчас мультистейдж в докерфайлах не работает что ли? docker 18.03.0-ce
# docker version --format={{.Server.Version}} 18.03.0-ce у меня такая версия, ща проверил - работает

Maxim
15.04.2018
10:52:16
# docker version --format={{.Server.Version}} 18.03.0-ce у меня такая версия, ща проверил - работает
а можно пустой пример докерфайла? может я где туплю

Maxim
15.04.2018
10:52:41
https://dpaste.de/gEAU

Google
Maxim
15.04.2018
10:52:45
вот

cat в начале и cat в конце лишние, это так случайно вышло :)

Maxim
15.04.2018
10:54:19
понял) ща попробую

так, где-то я криворук вчера был... все работает)

вот
спасибо)

Сергей
15.04.2018
12:20:45
подскажите как реализовать такое. У меня 22 порт юзается сервером но приложение тоже хочет юзать 22 порт (это гит сервер) ак быть и будет ли всё норм работать?

Artem
15.04.2018
12:24:30
Зачем ему ssh порт?

Сергей
15.04.2018
12:24:59
gogs можешь глянуть)

Artem
15.04.2018
12:25:05
Повесь на другой порт хоста, а в конфиге того что его юзает по-любому можно изменить порт

Сергей
15.04.2018
12:25:06
чтобы репозитории лить)

Artem
15.04.2018
12:25:21
Т.к. частенько 22 порт в принципе закрывают

Artem
15.04.2018
12:26:08
Типо -p 2200:22 если в контейнере это слушается на 22 порту

Google
Сергей
15.04.2018
12:27:27
подскажи как работает? expose: - "3000"

у меня просто nginx-proxy и я не могу разобраться как с портами быть в приложениях)

которые в веб ведут

подскажите как сделать чтобы в nginx-proxy подхватывался нужный порт автоматический, а не руками прописывать для контейнера?

Artem
15.04.2018
13:42:21
Expose это просто описательно, только для того чтобы знать на каком порту внутри приложение

Там можно хоть 6666 написать

Сергей
15.04.2018
13:44:39
надо кроме VIRTUAL_HOST еще VIRTUAL_PORT писать и окей всё поднялось)

Andrey
15.04.2018
13:53:56
Ребят, подскажите плс, как можно получить путь к файлам в контейнере, который залинкован к текущему? Ситуация такая: nginx - отдельный контейнер с линкой на api_app api_app - отдельный контейнер В конфиге nginx нужно добавить путь к корню api_app(like root /var/app/public) Возможно, сама архитектура контейнеров не очень

Нашел вариант - шарить именованные volum'ы, но что-то кажется, что есть вариант лучше

Artem
15.04.2018
14:07:21
Линк не даёт никакого доступа к фс, только роутинг по имени

Так что через волюмы

Andrey
15.04.2018
14:13:23
Если делать через волюмы, то как я понимаю, у всех сервисов, которые используют один и тот же именованный волюм, будут одинаковые файлы в директории волюма? И если какой-то сервис изменит какой-то файл в директории волюма, то он изменится везде?

Andrey
15.04.2018
14:50:40
Получается, что да

Peter
15.04.2018
15:08:56
Подскажите, пожалуйста. Вот есть какой-нибудь сайт на PHP. Хочу завернуть его в докер. Создаю два контейнера (с php-fpm и nginx), ну и docker-compos. Как сделать так, чтобы у обоих контейнеров был доступ к контенту сайта? Везде в интернете предлагаю создать volume с контентом, но разве это не убивает саму идею докеризации? Разве оно не должно быть stateless?

Александр
15.04.2018
15:12:55
Клади в nginx статику, которую должен отдавать он, а в пхп - то, что нужно для него. Без всяких волюмов. Волюм нужен тут будет для файлов, которые будут изменяться пользователем или сайтом

И кстати, контент разве в обычных файлах лежит? Не в бд?

Peter
15.04.2018
15:15:09
Тут контент - фоточки всякие, например. А php по ним ходит и создает ссылочки на сайте

Google
Peter
15.04.2018
15:16:32
Неужели нет возможности скопировать одно и тоже в два контейнера?

Black
15.04.2018
15:31:41
привет всем, кто-нить на лине юзал dante server?

TIMUR
15.04.2018
15:33:41
Господа, добрый вечер, есть вопрос 1

Black
15.04.2018
15:35:16
спасибо, сам разобрался

TIMUR
15.04.2018
15:35:17
Я пока еще изучаю докер и хочу понять как он работает. Как я понял, есть некая иерархия зависимостей, и если первый образ, берет за основу второй, то качается и второй и первый. Вопрос собственно в чём, тут есть у меня 1 образ, зовётся "microsoft/aspnetcore-build:2.0", не пойму почему, но он весит больше 1.7 гигов, хотя при наследованиии от jessie другие контейнеры весят в районе 200-300 мегабайт, это туда напихали много чего или же я где-то сглупил?

Юра
15.04.2018
15:36:25
эт нормальный вариант

можешь copy . .

это скопирует в контейнер

Peter
15.04.2018
15:38:33
можешь copy . .
но если у меня два докерфайла, лежащих соответственно в разных поддиректориях, то copy не сработает

Юра
15.04.2018
15:38:58
ты путь можешь любой указать

Peter
15.04.2018
15:39:06
ты можешь монтировать с помощью volume
Не хочу монтировать, хочу контейнеры со всем, чем нужно

TIMUR
15.04.2018
15:39:14
Неужели нет возможности скопировать одно и тоже в два контейнера?
Если тебе нужна интерактивность с содержимым, то монтируй, если просто необходим, то COPY

Peter
15.04.2018
15:39:44
ты путь можешь любой указать
Service 'web' failed to build: Forbidden path outside the build context:

Юра
15.04.2018
15:40:05
есть вариант обернуть содержимое в контейнер и сделать его базовым image для двух других

Peter
15.04.2018
15:40:51
Да, я думал об этом, но тогда не получится реюзать готовые образы nginx и php-fpm, что неприятно

TIMUR
15.04.2018
15:41:40
Кажется, на свой вопрос, я ответил сам

Да, я думал об этом, но тогда не получится реюзать готовые образы nginx и php-fpm, что неприятно
Укажи для нового контейра с содержимым базу в виде нужных образов, и получишь в итоге то, что надо

Сергей
15.04.2018
15:44:56
от чего такие ошибки?( 37#37: *1 connect() failed (111: Connection refused) while connecting to upstream, client: *.*.*.*, server: b.domain.pw, request: "GET / HTTP/1.1", upstream: "http://172.18.0.2:3000/", host: "github.baks.pw"

Google
TIMUR
15.04.2018
15:45:15
Хм, что-то не уловил
Тебе предложили обернуть содержимое в контейнер, но ты говоришь, что не сможешь юзать готовые сборки nginx и php, так наследуй контейнер с содержимым от готовых образов, а своё приложение в свою очередь от контейнера с содержимым

TIMUR
15.04.2018
15:47:05
Но там же два разных процесса - php и nginx
А как ты до этого решал свою проблему со связью?

Peter
15.04.2018
15:47:57
Никак, пытаюсь разобраться в докере на конкретной задаче

TIMUR
15.04.2018
15:48:53
Peter
15.04.2018
15:49:07
ну это понятно

TIMUR
15.04.2018
15:49:23
ну это понятно
А чего непонятно?

Peter
15.04.2018
15:49:30
Собственно поднять два контейнера (nginx + php) - не проблема

Проблема дать им общие файлы

Точнее так: дать им общие файлы, не создавая volume

TIMUR
15.04.2018
15:50:14
Eduard
15.04.2018
15:50:21
Зачем им общие файлы?)

TIMUR
15.04.2018
15:50:21
Так и не создавай

Peter
15.04.2018
15:51:48
Зачем им общие файлы?)
nginx их отдает, php смотрит листинг файлов и генерит ссылочки на них

Тогда volume
Но оно же не будет тогда stateless, или я чего-то не понимаю?

TIMUR
15.04.2018
15:52:40
И всё

Peter
15.04.2018
15:53:18
А как это деплоить тогда?

Папка то будет вне контейнеров

Eduard
15.04.2018
15:53:59
Список файлов должен быть по хорошему отдельно

Google
Peter
15.04.2018
15:54:18
Ну я понимаю

Eduard
15.04.2018
15:54:25
И php получает к нему доступ не обращаясь к каталогу с ними

Peter
15.04.2018
15:54:33
Мне это скорее в образовательных целях

Eduard
15.04.2018
15:54:47
Потому что никто не гарантирует что контейнеры в кластере будут на одной железке

А иначе докер и не нужон)

Peter
15.04.2018
15:55:13
Ага, поэтому мне простым решением казалось просто copy делать

Только вот внезапно нельзя из внешних директорий копировать

TIMUR
15.04.2018
15:55:55
Почему нельзя?

Абсолютный путь?

Eduard
15.04.2018
15:57:38
Ну в качестве костыльного метода я бы выгрузил листинг в файл и маунтил к пхп, а директорию с файлами к nginx

Или ещё 3 контейнер с бд сделал и список туда положил

Peter
15.04.2018
15:58:45
Почему нельзя?
Ну смотри, создал такую структуру: content/ docker-compose.yml php/Dockerfile nginx/Dockerfile

При билде вылезает:

Service 'ohp' failed to build: Forbidden path outside the build context:

Александр
15.04.2018
15:59:36
Укажи корневой контекст при сборке

Peter
15.04.2018
16:00:08
Ну в качестве костыльного метода я бы выгрузил листинг в файл и маунтил к пхп, а директорию с файлами к nginx
Я бы назвал это нормальным решением, если бы это при сборке докерфайла прямо могло бы делаться

Александр
15.04.2018
16:00:18
Он по дефолту находится в папке с Dockerfile, если через docker-compose

Peter
15.04.2018
16:00:33
Укажи корневой контекст при сборке
Как? Можно направить в доку?

Александр
15.04.2018
16:00:46
Я с телефона

Docker build context

Страница 556 из 1375