Тенпеннай
хочется, чтобы было по феншую
Igor
пробросить AUTH_SOCKET вполне себе фэншуйно
Тенпеннай
и для капистраны
Igor
деплоишь с локальной тачки из под винды?
Тенпеннай
нет
Тенпеннай
винда про руби ничего не знает
Alex
если для гита то можно readonly ключ ложить в контейнер
Alex
ничего страшного в этом не вижу.
Alex
образ все равно содержит кодовую базу продакшена, следовательно он также ценен как и сама кодовая база, следовательно его надо также секьюрно хранить. А если он так секьюрно хранится то не вижу проблем что при сборке будет ключ который позволит читать кодовую базу.
Alex
в общем не вижу security breach если там и так внутри кодовая база есть.
Anonymous
Том смонтировать?
Тенпеннай
не сработает
Тенпеннай
том смонтируется, конечно, но ssh-agent ключ не сожрет
Sander
Всем привет, а как вставлять envirement данные, которые я указываю в настройках docker container. в файл ~/.aws/config --- все что в голову приходит, чтоб он каждый раз при запуске контейенра собирал файл с конфигом, при помощи dockerize. но может есть более правильный способ, не хочется что image был большим.
Andrei
Гаспада. А какие есть решения для того, чтобы контейнер мог использовать ssh-ключи с виндового хоста?
http://avmaksimov.ru/2017/02/17/использование-swarm-secrets-в-docker-compose/ - в последних версиях Docker появилась поддержка секретов. Это самый правильный способ.
Тенпеннай
это круто, конечно, но для моей задачи выглядит оверкиллом
Тенпеннай
хочется, чтобы docker-compose up и ни о чем больше не париться
Andrei
Так я именно это и предложил. Могу помочь предметнее вникнув в контекст задачи через час-полтора в скайпе, например. Если действительно нужно.
Тенпеннай
да задача простая есть capistrano, который выполняет некие задачи на удаленом сервере, подключась по ssh. capistrano бегает внутри контейнера, который запущен на хосте под управлением Windows. Хотелось бы, чтобы a) он использовал ssh-ключи, которые у меня на хосте, б) чтобы это происходило максимально безгеморройно для меня. т.е. вариант вида volumes: - .:/myapp - //c/Users/User/AppData/Local/lxss/home/user/.ssh:/root/.ssh был бы идеален
Тенпеннай
но он не работает, т.к. файловая система контейнера испытывает сложности с расставлением прав на NTFS
Andrei
По ключам: создать секрет и положить туда свой приватный ключ (не правильно, но быстро и работает). Капистрано натравить на /run/secrets/my_secret_ssh_key; создать отдельного пользователя, отдельные ключи ему, дать права на удаленной системе и сделать то же самое.
Andrei
Все очень просто, безопасно и безгемморойно.
Тенпеннай
ничего не понял. где отдельного пользователя создавать? зачем ему давать отдельные ключи?
Andrei
Понял. Нужно чуть подробнее написать. Давай так: минут через 30-40 отпишусь сюда подробнее. В пробке с мобилки удобно только хеш-тегами общаться :)
Andrei
ничего не понял. где отдельного пользователя создавать? зачем ему давать отдельные ключи?
Чтобы ничего не выдумывать: контейнер с capistrano работает внутри Linux или Windows контейнера?
Тенпеннай
контейнер с капистрано работает пож управлением windows-хоста
Andrei
основная ОС контейнера Linux Или Windows Nano Server?
Тенпеннай
линукс
Andrei
[amaksimov@avmaksimov ~/Documents/docker/example]$ cat docker-compose.yml version: '3.1' services: ssh_test: image: 'ubuntu:yakkety' command: 'ssh -i /run/secrets/my_ssh_key user@server.ru uptime' secrets: - my_ssh_key secrets: my_ssh_key: file: /Users/amaksimov/.ssh/id_rsa_without_pass
Orez
#whois Добрый день. Занимаюсь разработкой WEB-приложений для нужд интернет-провайдера (python, django). Планируем внедрять docker для хостинга веб-сайтов (php, wordpress) и приложений на python+django. Т.к. с docker не работал, интересно почитать о том, с какими проблемами сталкиваются люди, пути их решения.
Max
Всем привет. Столкнулся с задачкой, но пока никак не могу найти красивое решение. Может быть вы сможете подсказать. В общем есть docker-compose.yml в котором есть обычные контейнеры работающие всегда и отдельный контейнер с утилитой для миграции. Этот контейнер я запускаю вручную по необходимости. Как сделать так, чтобы он не запускался при `docker-compose up`? Пока из решений нашел только добавить bash-скрипт внутрь контейнера и при отсутсвии параметров просто делать exit. Либо сделать отдельный docker-compose.yml для запуска без этого контейнера. Но это все больше на костыли смахивает. Может быть есть какая-то опция которую я упустил в мануалах?
Max
Но, если я правильно понимаю, он просто позволяет "подключать" другие yml файлы. Но не исключать при запуске через up. К тому же в 3й версии их пока не завезли
Andrei
Суть в том, чтобы определить базовую конфигурацию в коммон и те две, которые вас интересуют в отдельных файлах. Это должно работать вне зависимости от версии compose
Max
а вне контейнеров, просто скриптом нельзя миграцию сделать? т.е. ее обязательно в контейнер засовывать?
Суть не именно в утилите миграций. Это просто как пример. Так могут быть разные разово запускаемые приложения или сервисы. А в контейнере это все удобно переносить.
нꙺ
а, ок
нꙺ
ну, тогда можно задание написать, которое в нужный интервал будет пинать докер-демона на запуск контейнера и его шутдаун после завершения
нꙺ
или прям все-все в контейнерах должно быть?
нꙺ
или можно просто контейнер с нужным кодом запускать, а сам код уже внутри пинать по расписанию, потом дать такому контейнеру привилегии, чтобы он мог наружу вылазить и уже там что-то колдовать но, очевидно, это не самое лучшее решение, просто как вариант
Dmitry
типа docker-compose up mysql nginx
Dmitry
для разных конфигураций можно скрипт написать, который будет из одного compose.yaml разные сервисы запускать
Andrew
при создании имеджей как сделатьтак, чтобы каждый имейдж был максимально не зависем, по слоям, от другого (ранее созданного на этой же ноде) - есть ключ —no-cache - использую его, может есть еще какие-то?
Max
Понял, спасибо ребят. Буду экспериментировать
Bogdan (SirEdvin)
Всмысле, что бы не было кеширования?
Andrew
да, чтобы не было кеширования
Andrew
просто если сбилдить 100 раз, что-то удалить (по тегу none), что-то оставить, то потом из этим имейджей если запускать контейнеры их иногда начинает плющить вот с такими ошибками: level=error msg="Handler for GET /v1.22/containers/4c832e652b6b6c5b525ee3d72eba5e1f9fbeec0b6c807223b6a5e531eadb7127/json returned error: No such container: 4c832e652b6b6c5b525ee3d72eba5e1f9fbeec0b6c807223b6a5e531eadb7127"
Andrew
а если ничего не удалять, то сильно много место занимают имейджи ((
Konstantin
Собирай с --no-cache и удаляй образы на сборочной машине
Andrew
ок, попробую, потому как -no-cache только сегодня применил, а проблема с конейтнеров наблюдается уже пару дней (
Bogdan (SirEdvin)
А почему вам мешает кеширование?
Bogdan (SirEdvin)
Обычно, это связанно с неправильным использованием Dockerfile, мне кажется, хотя я могу ошибатся
Bogdan (SirEdvin)
Так же, если имейджи просматривать по списку docker images, без -a, то там не будет промежутночных
Dmitrii
есть кто использовал selenium с chrome драйвером внутри докера, можно в личке помучить?
Ruslan
использовал (проверил, что работает публичный образ) с огнелисом
Dmitrii
использовал (проверил, что работает публичный образ) с огнелисом
спасибо, наверное, мало....у меня такая проблемка - селениум падает, если запускать несколько процессов на одном виртуальном дисплее. На данный момент нет возможности запускать один контейнер на один процесс
Sander
Всем привет, у меня есть xtrabackup, который не позволяет менять имя базы данных, если я поменяю то все бекапы считай поломаются. --- но и не ток в этом проблма, проблема еще в том что, на локальной разработке (dev), мне придется хранить database_name (имя базы данных) в git. Так как, если у меня название базы будет любое другое, то появяться проблемы с развертыванием бекапа, так как бекапы xtrabackup бекапят файловую систему, а не sql. ---- нормально ли хранить database_name (имя базы данных) в git? обычно такие данные не храню в git
Sander
🤔
Sander
или если в вкратце то, хранить имя базы данных в git, это нормально?
Konstantin
Да, ни чего креминального в этом нет
Sander
окай
Sander
а то я обычно такие вещи не храню
Sander
спасибо
Sander
@devkp
Alexander
>у меня есть xtrabackup, который не позволяет менять имя базы данных, если я поменяю то все бекапы считай поломаются. можно восстановить и сделать raname
Sander
raname? это как
Sander
rename
Alexander
переименовать после восстановления, опечатался
Sander
да, я хочу понять как это можно сделать
Sander
просто взять переименовать папку не выйдет
Konstantin
RENAME TABLE oldDb.table TO newDb.table;
Konstantin
и так одну за одной...)
Konstantin
ну и грохнуть старую базу в конце
Konstantin
Вообще в гугле должно быть много решений
Sander
я не хочу сильно усложнять, потом если будет mongo, psql придется так же делать