Alex
Привет. Запустил docker на windows 10
docker run -d -p 8081:80 nginx:alpine
Пытаюсь в браузере открыть
http://localhost:8081 - не открывается
Leo
80 порт проверь
Leo
Точнее
Leo
-p 8081:80
Ты делаешь доступным 8081 порт из докера в 80 на винде
Leo
А не наоборот
Alex
80 тоже не открывается
Leo
-p 80:8081
George
что вы тут несете
Kirill
Kirill
Kirill
Alex
docker run -d -p 80:80 nginx:alpine
http://localhost тоже не открывает
Alex
Крутится колёсико в браузере. Как будто что-то грузит
Alex
Убрал галочку experimental в настройках
Перезагрузил демон и порт стал доступен
Alex
Снова поставил галочку. Перезагрузил - работает
Дaниил
Vitaliy
Привет! Подскажите, как если несколько стаков, сделать так что бы они видели друг друга в сети?
George
+1
Vitaliy
Да, что бы они между собой общаться
Kirill
Создаёте network и добавляете все нужные контейнеры туда
Vitaliy
Vitaliy
Создать сеть, понимаю, не понимаю как правильно указать в compose добавление
George
George
ну, тебе надо модифицировать все компоузы, добавить в дополнительную сеть все контейнеры, которые должны общаться вместе
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
Всем привет. Пытаюсь написать docker-compose.yml для своего телеграм-бота. Сделал два докерфайла - под x86_64 и arm, мне дали наводку на extends, но он не хочет работать с links. Указывание каждый раз всех файлов для оверрайда (я создал базовый, с оверрайдом на Dockerfile.arm, с tor+privoxy, с tor+privoxy под arm) кажется мне немного костыльным... Что и где я сделал не так?
Andrew
А зачем ? Мне просто интересно :) или у тебя какой то бот для IoT ?
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
Зачем докер, зачем под arm или что?
Andrew
Да зачем разделять на x86_64 и arm ?
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
Хосчу пока на малинке
George
George
норм практика -
1. не использовать links, а только networks
2. все переменные части засовывать в .env
3. .env файл может использовать докер-компоузом для интерполяции значений в самом yaml, можно указывать дефолтные значения, если переменная не установлена
George
4. собирать через докер-компоуз - костыльно
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
Anonymous
Чем занимаются в докере? Такое ощущение в последнее время, что он не развивается и его лишь поддерживают
Dmytro 🇺🇦
George
George
А как правильно? 🤔
Лучше через docker build -> пуш в регистри, а потом уже вытягивать на узел нужный образ
George
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
George
Ты, наверное, обратил внимание, что докер-компоуз действительно запускает сервисы по порядку, но если они долго стартуют или падают в процессе, то толку от этого нет ( и приходится облкладываться костылями типа wait-for.sh
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
Точно также и в systemd придумали dbus activation
George
George
Потому что очень тяжело понять, что ты хочешь
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
Все, что я хочу - чтобы можно было забилдить нужную версию (с прокси/без, для arm/обычную) без повторения docker-compose.yml целиком несколько раз без указания 100500 раз аргумента -f
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
Кажется, что проще всего просто повторить несколько раз, а переменные в .env
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
Хотя я читал и об аргументах против .env
George
ну, это лучшее, что ты можешь сейчас сделать
George
конечно, можно втащить внешний шаблонизатор....
George
мы делаем так
George
j2 -f yaml ./docker-compose.template.yml.j2 ./values.yml | docker-compose -f /dev/stdin up -d
George
j2 - это питонячья j2cli[yaml] (ставить через pip install)
inqfen
Можно jinja юзать, для неё есть консольные приложение
inqfen
Ну еба, опередил)
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
Ясно, пожалуй, просто продублирую :)
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
А .env он автоматом подтягвает или надо параметр?
inqfen
Он - это докер композ?
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
+
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
https://docs.docker.com/compose/env-file/
Я так понимаю это значит, что по дефолту, верно?
inqfen
Ключом указывается или в самом докер композ
inqfen
Если один из, то да, просто.env
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
Нашел, env_file
George
George
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
Да, вижу
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
Спасибо, так и сделаю - через .env
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
А можно ли как-то совместить .env и envieonment в docker-compose.yml? Ну, чтобы HTTPS_PROXY брать из docker-compose.yml, а остальное из .env?
Denis
George
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝚠𝙷𝚊𝚝
Я так понимаю, оно по дефолту сначала проходит compose-файл, потом .env, для каждой переменной? Т. е. не будет такого, что на environment-ключе стопнет и и не будет даже смотреть .env?
Andrey
🐳 Lazydocker - tui для работы с docker'ом. Заявлена поддержка мыши, работа с контейнерами, логами, сервисами, слоями, образами и возможность показа графиков для ваших контейнеров.
#docker #tui #github