Ivan
Завис на The push refers to a repository [localhost:5000/core
Anonymous
Ребят, подскажите. - Имеется VPN сервер 192.168.42.1 - У клиентов VPN (mikrotik филиалов) проставлены статические IP 192.168.42.0/24 - За VPN сервером крутится приложение, которое требует обратной маршрутизации, т.е. получение доступа к локальной сети клиента. Но, так как клиенты могут быть не постоянными (отвалилось соединение, кончился интернет, баба Зина мыла пол и т.д.), route может отвалиться после того, как клиенты разъединяются, и, после обратного подключения, маршруты не восстанавливаются, приходится заново вручную прописывать ip route add 192.168.3.0/24 via 192.168.42.2 Как настроить постоянный маршрут для этих клиентов, чтобы маршруты сохранялись или восстанавливались после повторного соединения?
Vlad
Отпишись потом, помогло и нет :-)
Хорошо) Тестить буду уже завтра.
Ivan
Как в swarm передать image с manager node на worker node? Обязательно поднимать local registry?
Konstantin
При деплое стека добавь флаг - передавать авторизацию для регистри на другие ноды, если приватные
Ivan
Да, приватные, спасибо попробую
neb0t
господа подскажите плиз как вы ssh ключик для спуливания с приватной репки прокидываете в контейнер или подскажите какие-то best practices как лучше спуливаться с приватной репы в контейнере
пулами и билдом у меня дженкинс занимается - там через ссш-агент контейнер получает ключ с дженкинс-мастера, а сам мастер прописан в репе. После билда арр можно засунуть в новый контейнер или обновить файлы на волайме. Если дженкинс слишком сложное - тогда только через волайм нужно передавать ключ и клонировать с указанием приватовского ключа. Не забывем о пермишинах на ключ. Но не правильно пихать ключ, если у кого-то еще есть доступ внутрь контейнера. Можно заморочится и прописать еще пассфрейз, но тогда пул будет строго-ручным или будет палиться в списках процесов.
Ильдар
локально нет такого ограничения docker run -p 5000:5000 -d registry:2 docker tag alpine localhost:5000/we/need/to/go/deeper:my_shiny_tag docker push localhost:5000/we/need/to/go/deeper:my_shiny_tag The push refers to repository [localhost:5000/we/need/to/go/deeper] df64d3292fd6: Pushed docker rmi localhost:5000/we/need/to/go/deeper:my_shiny_tag Untagged: localhost:5000/we/need/to/go/deeper:my_shiny_tag docker pull localhost:5000/we/need/to/go/deeper:my_shiny_tag my_shiny_tag: Pulling from we/need/to/go/deeper Status: Downloaded newer image for localhost:5000/we/need/to/go/deeper:my_shiny_tag
Dmitry
пулами и билдом у меня дженкинс занимается - там через ссш-агент контейнер получает ключ с дженкинс-мастера, а сам мастер прописан в репе. После билда арр можно засунуть в новый контейнер или обновить файлы на волайме. Если дженкинс слишком сложное - тогда только через волайм нужно передавать ключ и клонировать с указанием приватовского ключа. Не забывем о пермишинах на ключ. Но не правильно пихать ключ, если у кого-то еще есть доступ внутрь контейнера. Можно заморочится и прописать еще пассфрейз, но тогда пул будет строго-ручным или будет палиться в списках процесов.
Ну в общем я сделал так, что копирую ключик спецом в контейнер, и поднимаю там ssh agent, добавляю ключ и вот это вот все...но имхо это не комильфо, на днях в докер был вмержен пулл реквест, что позволяет передать ssh сокет внутрь контейнера без лишних приседаний, но эта фича не появилась даже в последней сборке ещё) попутно ищу лучшие решения и да юзаю multi stage чтобы в итоге не было ключа в сборке
Ильдар
docker registry service как локално запушить image?
Скинул выше код из другого чата.
Dima
Доброй ночи, второй день подряд пытаюсь решить проблему, golang не конектится к бд в докере, использую go-pg, postgresql
Dima
Dima
Александр
Конфиг подключения к бд какой?
Александр
И не стоит коннектиться к бд при сборке
Александр
Вот при подключении хост какой указывается? Св-во Addr
Александр
Александр
Это скрин из примера на гитхабе, я хз какой у него код)
Konstantin
ты не видишь его скринов?
Александр
Но скорее всего чувак скопипастил этот пример, а там хост не указан - берет по умолчанию)
Александр
ты не видишь его скринов?
А, его, ну ясен пень, что хост неправильный, хотел помочь, а он молчит)
Anonymous
Привет! Как на проде запускать, скажем, два-три проекта с помощью докера, если контейнеры mysql конфликтуют между собой?
Roman
В смысле конфликтуют?
Anonymous
Anonymous
Когда пытаешься запустить второй проект, в котором есть такие же контейнеры
Anonymous
@teajunk
Roman
Так это, на другие порты другие проекты забиндить
Roman
Иначе конечно работать не захочет
Anonymous
Ща попробую
Ivan
Скинул выше код из другого чата.
спасибо, попробую на работе
Anonymous
Так это, на другие порты другие проекты забиндить
Ну вот с mysql и redis это прокатит, а вот с web-сервером — нет
Anonymous
Что в таком случае делать?
Anonymous
Занимает 443 порт
Roman
Обычно либо внешний, либо внутренний балансировщик - один, проксирует запросы на нижестоящие сервисы.
Roman
Какое облако?
Anonymous
В плане?
Anonymous
не понял
Anonymous
Какое облако?
где размещается докер или что?
Roman
Ну смотри. Если это локально, то правильнее поставить впереди всего какой нибудь nginx на 443, который будет раскидывать запросы по нужным проектам. Если это aws, например, то у них есть ALB, который сделает то, что тебе нужно.
Anonymous
DigitalOcean
Anonymous
В качестве web-сервера Caddy
Roman
У них есть вроде какой то балансировщик, но ничего за него не скажу. А так либо проксировать multiple domains через кэдди или nginx перед ним
Anonymous
Есть ещё вроде вариант через networks
Anonymous
Спасибо за помощь
Roman
Есть ещё вроде вариант через networks
С web то как? У тебя все равно expose порта будет на инстанс и с него наружу. Сам линух не даст два разных приложения к одному порту забиндить.
Денис
подскажите пожалуйста, в докер-файле в строчке volumes можно указывать путь до какой-либо директории или папки в unix-формате, а если этот контейнер потом на винде запускать, как она разрулит этот путь?
Денис
еще вопрос: собираемся сделать контейнеры с nginx, redis, postgresql, dotnet core. Как управлять всей этой оравой докер-файлов? Хранить в гите? При обновлении докерфайла делать гит пул и собирать новый образ? или мы изобретаем велосипед и есть какие-то более элегантные решения?
Dima
А, его, ну ясен пень, что хост неправильный, хотел помочь, а он молчит)
Спасибо, огромное за вариант, понял что ошибка в хостах, днём поиграюсь)
Dima
Скорее всего надо будет прописать 0.0.0.0
Alexander
Ребят, вопрос такой есть: если я захочу в композе заюзать —scale на контейнере, который открывает порт во внешний мир, то как это будет работать? Там есть какой нить балансир или просто второй экземпляр не сможет подняться?
Mikhail
Scale это уже swarm, compose не делает scale
Alexander
https://docs.docker.com/compose/reference/up/ опция —scale разве не про это?
Mikhail
Тогда сорян, я хз
Alex
Когда пытаешься запустить второй проект, в котором есть такие же контейнеры
Можно на loopback интерфейс вешать. В одном: 127.0.0.1:80:80 В другом: 127.0.0.2:80:80 И т. д.
Antilopa
Подскажите, пжлста. Почему когда [ { "CreatedAt": "2018-10-18T16:31:35Z", "Driver": "local", "Labels": { "com.docker.compose.project": "d-gdmn", "com.docker.compose.version": "1.22.0", "com.docker.compose.volume": "databases" }, "Mountpoint": "/var/lib/docker/volumes/d-gdmn_databases/_data", "Name": "d-gdmn_databases", "Options": null, "Scope": "local" } ] то cd /var/lib/docker/volumes/d-gdmn_databases/_data
Antilopa
No such file or directory
Дима
нет файла или папки)
Дима
1) нет файла или папки 2) совершенно нет прав
Alex
Там права для чтения только для root’а.
Alex
sudo cd /var/lib/docker/volumes/d-gdmn_databases/_data
Дима
но это женерик ответ, а не по твоему вопросу. Но скорее всего дело в том, что я перечислил выше
Alex
Там права для чтения только для root’а.
Это актуально для всей папки /var/lib/docker.
Antilopa
Подозреваю, что 2 вариант. Я ничего экзотичного не делал: просто именованый вольюм в докер-композе к бд-контейнеру прикрутил Как правильно сделать, если я хочу иметь доступ к папке?
Alex
Всё верно. Это стандартное поведение. Почему просто не примонтировать папку в контейнер? Или принципиально чтоб это был именно именованный том?
Antilopa
Я хз, если честно)
Antilopa
Делал по примеру, видимо не понял разницу
Alex
docker run -v /local_path:/container_path …
Antilopa
А для чего именованые?
Antilopa
То есть мы что-то монтируем, но не имеем к этому доступ. Не понятно
Alex
Для тех случаев, когда тебе необходимо сохранять данные, но неприципиально где. Доступ есть, просто права ограниченные. sudo ls /var/lib/docker/volumes/d-gdmn_databases/_data покажет всё содержимое твоего тома.
Antilopa
В моем случае даже /var/lib/docker вообще нет. Видимо пока что-то не запишешь папка не создается. Спасибо.