Denis 災 nobody
без лишних ключей
Andrew
а...ну тогда в енв
Denis 災 nobody
invalid project name "...": must consist only of lowercase alphanumeric characters, hyphens, and underscores as well as start with a letter or number
Denis 災 nobody
может ещё точка мешает в формате..
Denis 災 nobody
во, заработало. Но какой же это изврат..
Denis 災 nobody
даром чтоли имя сервиса аж 2 методами задано
Denis 災 nobody
сервисом + container_name
Anatoliy
Добрый день кто может подсказать пытаюсь подключить приложение с бд (один контейнер с другим) пишет что не PostgreSQL на localhost (127.0.0.1) на порт 35000, но сервер PostgreSQL не слушает этот порт вот мой докер компос version: '3' # Версия формата файла Docker Compose services: db: container_name: 'py_db' image: postgres:14.1-alpine environment: - POSTGRES_DB=* - POSTGRES_USER=* - POSTGRES_PASSWORD=* ports: - 35000:5432 networks: - internal app: container_name: 'py_app' build: . ports: - "8000:8000" depends_on: - db environment: DATABASE_URL: 'postgres+psycopg2://**:*@db:5432/**' networks: - shared_network - internal networks: shared_network: internal: контейнеры находятся в одной и той же сети, по этому не могу понять в чем ошибка
McLotos
Я вот запускаю кучку контейнеров docker compose --profile services up --build -d а потом хочу их остановить и удалить и остаётся пара дисков и пара образов. Почему docker compose down —rmi all —volumes —remove-orphans может не удалять некоторые диски и образы?
McLotos
ну судя по скриншоту у контейнера не открыты вообще никакие порты
McLotos
может тебе нужен expose, вместо ports?
Anatoliy
может тебе нужен expose, вместо ports?
прошлый раз делал так все в порядке было
Anatoliy
может тебе нужен expose, вместо ports?
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not connect to server: Connection refused py_app | Is the server running on host "db" () and accepting py_app | TCP/IP connections on port 5432? он будто не видит вообще соединения
Денис
# Compile stage FROM golang:1.21.1 AS build-env WORKDIR /go-bank COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 GOOS=linux go build -ldflags "-linkmode external -extldflags -static" -o bin/go-bank cmd/main.go EXPOSE 8080 # Final stage FROM alpine EXPOSE 8080 WORKDIR / COPY --from=build-env /go-bank /go-bank CMD ["/go-bank/bin/go-bank"]
Anatoliy
expose
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not connect to server: Connection refused py_app | Is the server running on host "localhost" (127.0.0.1) and accepting py_app | TCP/IP connections on port 35000? py_app | could not connect to server: Cannot assign requested address py_app | Is the server running on host "localhost" (::1) and accepting py_app | TCP/IP connections on port 35000? не помогло
Anatoliy
ps -a
PID TTY TIME CMD 404048 pts/0 00:00:00 ps
McLotos
PID TTY TIME CMD 404048 pts/0 00:00:00 ps
нет, ты не понял. docker ps -a показывает список запущенных контейнеров и список открытых у них портов
McLotos
А я думаю зачем тебе процессы )) сек
ну в первый раз ты же правильно прислал =)
Anatoliy
65c3b7a5ec54 kinopoisk_app "python main.py" 4 minutes ago Exited (1) 4 minutes ago py_app f9a7d1255369 postgres:14.1-alpine "docker-entrypoint.s…" 4 minutes ago Exited (0) 4 minutes ago py_db
McLotos
Да
так. а у тебя там 2 сети описаны. зачем?
McLotos
ага
Anatoliy
ага
Это не обращай внимания разные способы пробовал Суть такова что пострес запускается и работает в контейнере если его запускать а вот бот не может подключится к нему и не могу понять от куда он вообще берет локал хост если я его не где не указываю даже
McLotos
Это не обращай внимания разные способы пробовал Суть такова что пострес запускается и работает в контейнере если его запускать а вот бот не может подключится к нему и не могу понять от куда он вообще берет локал хост если я его не где не указываю даже
по умолчанию контейнеры запущенные в одном docker-compose уже имеют общую сеть. Порты для этой общей сети открываются через expose и обычно уже прописаны в dockerfile. Чтобы открыть порт куда-то за пределы сети, то нужен ports. Например nginx: ports: - 80 - 443 php: expose: - 9000 У nginx есть доступ во внешний мир по 80 и 443, а php общается с nginx через 9000 по своей внутренней сети
McLotos
чтобы внутри сети докера обратиться к другому докеру, можно обратиться по его имени
Anatoliy
чтобы внутри сети докера обратиться к другому докеру, можно обратиться по его имени
Ну вот в первом примере что я кинул я сделал общую сеть что бы они общались ))
vetha596f65@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default link/ether 7e:53:4a:99:27:ac коллеги, от чего этот интерфейс?
Alexander
https://pikabu.ru/story/tupyie_voprosyi_na_sobesedovanii_10752677?utm_source=andpostshare&utm_medium=sharing
brctl show
brctl(8) is obsolete. Some features such as STP guard, hairpin mode, fast leave and root block are intentionally not implemented in this command. Instead use bridge command from iproute2 package for a more full set of features. November 7, 2001 Source file: brctl.8.en.gz (from bridge-utils 1.7.1-1) Source last updated: 2023-01-25T21:11:52Z
Peter
brctl(8) is obsolete. Some features such as STP guard, hairpin mode, fast leave and root block are intentionally not implemented in this command. Instead use bridge command from iproute2 package for a more full set of features. November 7, 2001 Source file: brctl.8.en.gz (from bridge-utils 1.7.1-1) Source last updated: 2023-01-25T21:11:52Z
Вам в stp надо вдуплять? Ваша задача выяснить в какой бридж воткнут этот интерфейс. По veth уже можно было понять, что он виртуальный, а дальше нужно понять от чего он. Можете жонглировать всем зоопарком от iproute2 и там найдёте ответ, если поймёте выхлоп от разных команд. Можете копать /proc Но, проще сначала посмотреть в какой бридж входит, а потом понять к чем этот бридж относится. Вам же не говорят СОЗДАВАТЬ НОВЫЕ бриджи, а нужно ПОСМОТРЕТЬ существующие в более-менее вменяемом представлении. Типа такого λ brctl show bridge name bridge id STP enabled interfaces br-342d434e25a8 8000.024295b7e7a2 no br-488e03de8510 8000.0242498e831f no veth8c59dd8 br-f7f48c61e4e8 8000.02426944bb80 no vethc520ea3 vethd9d5919 docker0 8000.02429a9eed9d no veth54b99e6 vethfdc31bb virbr0 8000.5254003618e9 yes virbr1 8000.5254004dbd90 yes
Peter
В вашем случае достаточно внимательно изучать выхлоп от ip -d a s vetha596f65
Peter
но, проще, как я написал, посмотреть на бриджи и найти соответствие между тем, что показывает brctl show и docker network ls
Zarrina
Всем привет. Очень нужна помощь.У меня есть баш скрипт, который берет инпут файл, если его нет, то берет другой по дефолту. Я хочу поставить инпут файл на CI(у меня экшенз) и от туда поднять докер отправив туда этот файл. В докер композ есть скрипт, который ранает этот баш файл и в который принимается инпут файл с экшенз и отправляется в баш файл. Я сделала такой скрипт в экшенз: run input_file=path/to/input_file docker compose В докер компоуз: Entrypoint: [“bash”, “-c” , “path/to/bash file “, “$input_file”] В баш файл: Input_file=“${1:-file_by_default}” Он не видит этот файл. Ранает то по дефолту. Я меняла путь по разному. Просто дает ошибку frozen.importlib
Edward
Всем привет, столкнулся с проблемой Файлы через volumes в докере мапятся в контейнер с принадлежностью к root... Демон запущен от имени текщего пользователя "pc" Dockerfile: FROM golang:alpine3.18 as local ARG UID=1000 ARG GID=1000 ARG USER=pc ENV USER=${USER} \ UID=${UID} \ GID=${GID} RUN go install github.com/cosmtrek/air@latest RUN echo "Debug info: GID=${GID}, USER=${USER}, UID=${UID}" && \ if ! addgroup -g ${GID} -S ${USER}; then echo "Group already exists"; fi && \ if ! adduser -u ${UID} -D -S -G ${USER} ${USER}; then echo "User already exists"; fi WORKDIR /home/$USER/app RUN ["air", "init"] EXPOSE 5432 USER $USER docker-compose services: api-wa: build: context: docker target: local args: - USER=${USER} - UID=${UID} - GID=${GID} ports: - "5432:5432" user: "${UID}:${GID}" volumes: - ./:/home/pc/app command: air .env: USER=pc UID=1000 GID=1000
Chronic
Подскажите нужен ли мне докер чтобы задеплоить проект на свой VDS ( React + Strapi , OS - Ubuntu 20.4 )
D
Можно без него, но желательно с ним
Chronic
Зачем докер?
ну кто то пишет что нужно с ним, кто то без . вот я и потерян
Andrew
с докером проще когда умеешь в него. а так можно и без
Elvee
Всем привет! Подскажите момент. Как мне добавить NFS хранилище в докере? Не совсем понимаю как реализовать подобное: Есть приложение которое крутится в докере. Мне нужно сделать файловый сервер на котором я буу хранить медиа файлы проекта. Как это дело соединить?
Elvee
Использовать s3. )
увы...) данные чувствительны)
Elvee
К чему?
без доступа в интернет. Только локально
Alexander
Ну есть minio
Владимир
Ну есть minio
он под AGPL, если для себя то норм, если продавать будешь - придется сорсы открывать
Alexander
он под AGPL, если для себя то норм, если продавать будешь - придется сорсы открывать
Так оно сбоку стоит. А твоё приложение ее как бэкенд использует.
Владимир
Если ты предлагаешь клиенту самому поднимать минио и в приложении просто прописывать пути, это одно. А если у тебя поставка включает уже контейнер минио - читай лицензию
Сеня
Всем привет. Подскажите пожалуйста как исправить вот такую ошибку - Error saving credentials: error storing credentials - err: exit status 1, out: `error storing credentials - err: exit status 1, out: `pass not initialized: exit status 1: Error: password store is empty. Try "pass init".`` Она вылезает когда я прописываю пароль от аккаунта Docker Hub в консоли
tfhx8
есть кто в сети?
Владимир
Кто спрашивает
Сеня
Привет всем. Сколько работает контейнер после его запуска? Он будет работать до того момента как не случиться ошибка в коде или работает по времени (например только час)
Andrew
пока не остановишь
Азат
Пока работает исполняемый файл
Азат
Можно запустить бесконечный цикл, будет работать пока сам не тормознешь
Сеня
Тоесть если поместить тг бота, то он будет работать всегда, пока я его не выключу?
Константин
можно как демона запустить и будет работать пока не остановишь сам
Andrew
он и без контейнера будет работать
Владимир
Тоесть если поместить тг бота, то он будет работать всегда, пока я его не выключу?
Судя по вопросу, он будет работать пока ты не выключил компьютер
Сеня
Спасибо, понял
Hovhannes
Коллеги подскажите пож. у меня postgres в контайнере запушен password authentication failed for user "postgres" Connection matched file "/var/lib/postgresql/data/pg_hba.conf" line 128: "host all all all md5"
Павел
Здравствуйте, пытаюсь запустить приложение из докера, но что-то база данных не желает вступать в игру. docker SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
Aleksey
Адрес в докер композе