CHIP
то есть
export ANDROID_HOME=${PWD}/android-sdk-linux
Александр
Всем привет! Запускаю spring-boot приложение в контейнере, оно там падает (ожидаемо) но в логах контейнера информации нет. При этом если запуститься в -it режиме то в консоли логи вижу. Подскажите, почему так может быть, в каком примерно направлении смотреть. В docker я полный нубас.
Дмитрий
Александр
Так а проблема то в чем? Оно так и должно работать
я думал, что все что в стандартном выводе, который я вижу в консоли, должно автоматически оказываться в логах контейнера... а как сделать, чтобы в логах контейнера была информация из логов спринг бута?
Дмитрий
George
George
У тебя спринг куда пишет ? В файл ? А ты симлинком его сделай на /proc/fd/2
George
Или типа того
inqfen
Кирилл
Коллеги, добрый вечер. Только начинаю знакомиться с темой контейнеров, столкнулся с вопросом при просмотре обучающего видео в ютубе:
Следуя сюжету, установил в виртуальной машине VirtualBox установил Ubuntu 18.04, docker, PostgreSQL НЕ УСТАНАВЛИВАЛ!!! запуллил имейдж postgres, запустил его командой:
docker run -d --name pgi -p 5432:5432 postgres
Он запустился. Я проверил.
Далее автор сюжета хочет с внешнего хоста запустить какую нибудь базу изнутри свеже запущенного контейнера postgres, и вводит команду:
sudo -u postgres psql -h localhost
И заходит в постгрес внутри контейнера, открывает базы и все такое.
У меня же ничего не получается. Баш пишет, что, либо не известен такой юзер, как postgres, либо не найдена такая команда, как psql.
ВОПРОС: такие ошибки вылезают потому, что у меня на локальном хосте не установлен постгрес? Автор ролика не говорил ничего о том, установлен у него постгрес на хосте, или нет, поэтому я не знаю точно.
Можно ли обратиться к БД в запущенном контейнере из внешнего хоста НЕ УСТАНАВЛИВАЯ на хосте базу данных постгрес?
Nikolay
Коллеги, добрый вечер. Только начинаю знакомиться с темой контейнеров, столкнулся с вопросом при просмотре обучающего видео в ютубе:
Следуя сюжету, установил в виртуальной машине VirtualBox установил Ubuntu 18.04, docker, PostgreSQL НЕ УСТАНАВЛИВАЛ!!! запуллил имейдж postgres, запустил его командой:
docker run -d --name pgi -p 5432:5432 postgres
Он запустился. Я проверил.
Далее автор сюжета хочет с внешнего хоста запустить какую нибудь базу изнутри свеже запущенного контейнера postgres, и вводит команду:
sudo -u postgres psql -h localhost
И заходит в постгрес внутри контейнера, открывает базы и все такое.
У меня же ничего не получается. Баш пишет, что, либо не известен такой юзер, как postgres, либо не найдена такая команда, как psql.
ВОПРОС: такие ошибки вылезают потому, что у меня на локальном хосте не установлен постгрес? Автор ролика не говорил ничего о том, установлен у него постгрес на хосте, или нет, поэтому я не знаю точно.
Можно ли обратиться к БД в запущенном контейнере из внешнего хоста НЕ УСТАНАВЛИВАЯ на хосте базу данных постгрес?
У вас локально не установлен psql
Nikolay
Поставьте например dbeaver или любую другую ide для работы с СУБД
Nikolay
Nikolay
База в контейнере работает а клиента нет
Кирилл
inqfen
Коллеги, добрый вечер. Только начинаю знакомиться с темой контейнеров, столкнулся с вопросом при просмотре обучающего видео в ютубе:
Следуя сюжету, установил в виртуальной машине VirtualBox установил Ubuntu 18.04, docker, PostgreSQL НЕ УСТАНАВЛИВАЛ!!! запуллил имейдж postgres, запустил его командой:
docker run -d --name pgi -p 5432:5432 postgres
Он запустился. Я проверил.
Далее автор сюжета хочет с внешнего хоста запустить какую нибудь базу изнутри свеже запущенного контейнера postgres, и вводит команду:
sudo -u postgres psql -h localhost
И заходит в постгрес внутри контейнера, открывает базы и все такое.
У меня же ничего не получается. Баш пишет, что, либо не известен такой юзер, как postgres, либо не найдена такая команда, как psql.
ВОПРОС: такие ошибки вылезают потому, что у меня на локальном хосте не установлен постгрес? Автор ролика не говорил ничего о том, установлен у него постгрес на хосте, или нет, поэтому я не знаю точно.
Можно ли обратиться к БД в запущенном контейнере из внешнего хоста НЕ УСТАНАВЛИВАЯ на хосте базу данных постгрес?
Клиента поставь
inqfen
При чем тут вообще контейнеры?
inqfen
Ты на другой хост как бы пошёл без клиента?
Кирилл
Ты на другой хост как бы пошёл без клиента?
делаю вывод, что до толком не врубился в смысл контейнеров. Считал, что они вообще полностью автономны и, при необходимости, даже клиента на локальную машину могут предоставить изнутри себя, по запросу.
Кирилл
звучит смешно, как минимум, понимаю. Спасибо всем откликнувшимся ))
Sluagh
Всем добрый вечер. Кто-нибудь знает как можно очистить\дропнуть COPY слой в готовом image после того как он нам не нужен. Суть проблемы.
В образ запекам установщик (COPY слой), который устанавливает нужный софт внутри image (RUN слой). Дальше эти файлы уже в собранном образе не нужны.
George
George
делаешь мультистейдж
George
в последнем образе делаешь COPY --from=source lalala lalala
George
ровно то что тебе нужно
Sluagh
думал о нем, не прокатит. Там на выходе артефакт, это установленный софт, с пользаками и переменными
Sluagh
не артефакт точнее
Sluagh
мультистейдж хорошо когда собрался и тебе файл гонять в другом окружении.
George
нет, норм
Sluagh
значит, я что-то плохо прочитал. Пойду еще покурю
George
смотри
George
у тебя действительно между образами (стадиями) могут передаваться только файлы - все CMD, ENTRYPOINT, ENV надо в конечном образе формировать заново, либо выносить все что должно быть в конечном и в промежуточном - в какой-то базовый образ
George
условно
George
FROM alpine as base
blablabla
ENV, RUN тут всякое такое - базовая подготовка
FROM base as intermediate
COPY RUN blablabla - всякая мусорная сборка
FROM base
COPY —from=intermediate нужные файлы
Sluagh
ага, попробую поиграть
George
либо тупо в одном блоке RUN (сделать-что-то) && (почистить следы) - тогда у тебя и секреты в конечный образ не попадут и образ будет мелкий
Sluagh
может и заедет
George
потому что каждый слой == слепок фс, какие действия были при его создании - в docker history видны, но по ним сконструировать все взад уже нельзя )
Sluagh
вот насколько это хорошо чистить предыдущий слой новым )
Sluagh
там конечно не так, чтобы много, но хочется красоту сделать
Oleg
Вопрос
Использую gitlab ci для сборки контейнеров и закидывания их в registry.
В контейнере нужны ssh ключи, которые лежат в переменных gitlab ci. И в процессе сборки я их передаю вот так:
docker build --build-arg DOCKER_SSH_PRIVATE_KEY="$DOCKER_SSH_PRIVATE_KEY" --build-arg DOCKER_SSH_KNOWN_HOSTS="$DOCKER_SSH_KNOWN_HOSTS" ...
Потом, внутри докерфайла
echo $DOCKER_SSH_PRIVATE_KEY > /home/airflow/.ssh/id_rsa && \
echo $DOCKER_SSH_KNOWN_HOSTS > /home/airflow/.ssh/known_hosts && \
И в итоге они пишутся в одну строку, что ломает попытки куда-нибудь сходить по ssh.
Шо делать?
В самих переменных ключи лежат нормально.
Виктор
Виктор
Чет типо такого надо
echo "$CI_KEY_PRIVATE" | tr -d '\r'
George
George
я уж не говорю о том, что вшивать в образа ссш ключи - зашквар
George
надеюсь, ты понимаешь почему )
Oleg
да, но это временная мера))
Alexey
у меня такой вот сетап и я хочу для тестов добавить sqlite и гонять ее в :memory: вариации. Правильно ли я понимаю, что мне нужно либо поднять для нее свой контейнер, либо установить ее в контейнер с php-fpm?
inqfen
Свой контейнер
Oleg
Пока накидал через контейнер, но потом думаю найти что-то постоянное.
inqfen
Ходить из контейнера по ssh выглядит как нечто странное
M
Слышал есть какие-то ваулт штуки
M
Но хз не трогал
Green
На хосте с docker swarm делаю docker service update —image название image
Green
Вот это все иногда падает с ошибкой no such image
Green
при этом если сделать docker pull а затем docker service update, то все нормально работает. Из-за чего это может быть? Замучился уже
rmshell
Anonymous
rmshell
rmshell
И возьми офф образ постгри и не мучайся
rmshell
Ато копи паста доведёт до ручку, особенно с судо в апт
Anonymous
Anonymous
rmshell
Редактирование не освоил?)
rmshell
Чет тут я вижу фром убунта а не постгрес
Anonymous
Anonymous
rmshell
Неее, давай сам дальше
Maksim
Здравствуйте
Есть 2 приложения django в разных контейнерах. Использую requests для подключения к API первого приложения со второго
Выдаёт вот это:
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='0.0.0.0', port=8000): Max retries exceeded with url: /api/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f99fd4d6b50>: Failed to establish a new connection: [Errno 111] Connection refused'))
Maksim
пытаюсь выяснить, не знаю в чем проблема
M
Failed to establish a new connection: [Errno 111] Connection refused'))
Green
George
George
Ещё вариант использовать докер секреты
Maksim
Maksim