У меня есть docker -compose.yml с двумя службами, пользовательским образом (служба, называемая кодом) и сервером Postgres. Ниже я присоединяю Dockerfile к построенному образу app
первого сервиса, а затем docker -compose.yml:
# Dockerfile of custom image
FROM ubuntu:latest
RUN apt-get update \
&& apt-get install -y python3-pip python3-dev \
&& cd /usr/local/bin \
&& ln -s /usr/bin/python3 python \
&& pip3 install --upgrade pip
WORKDIR /usr/app
COPY ./* ${PWD}/
ADD ./requirements.txt ./
RUN pip install -r requirements.txt
ADD ./ ./
# docker-compose.yml
version: '3.2'
services:
code:
image: app:latest
ports:
- 5001:5001
networks:
- docker-elk_elk
postgres:
image: postgres:9.5-alpine
environment:
POSTGRES_USER: postgres # define credentials
POSTGRES_PASSWORD: postgres # define credentials
POSTGRES_DB: postgres # define database
ports:
- 5432:5432 # Postgres port
networks:
- docker-elk_elk
networks:
docker-elk_elk:
external: true
Также здесь docker-elk_elk
указывает на другую сеть, где другой docker -compose стека работает, и я хочу, чтобы docker -poize также присоединился. Однако когда я запускаю docker-compose run code bash
и получаю оболочку в сервисе code
, curl https://postgres:5432
выдает следующее сообщение: curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to postgres:5432
. Я пробовал также curl http://postgres:5432
, который вернулся curl: (52) Empty reply from server
. Кроме того, сеть docker-elk_elk
(явно созданная стекомasticsearch-logta sh -kibaba) при выполнении docker network ls
дает
NETWORK ID NAME DRIVER SCOPE
8a54fe394fe8 docker-elk_elk bridge local
Я действительно растерян и растерян, может кто-нибудь мне помочь? Если есть какая-либо информация, которая может оказаться необходимой или полезной и не была включена выше, дайте мне знать, пожалуйста.
Я забыл упомянуть, что app
- это просто python приложение (не веб) приложение или другие python сложные библиотеки).
PS Что-то, что, возможно, я должен был упомянуть выше. Я хочу использовать контейнер ubuntu с приложением внутри для запроса (и отправки данных) как в postgres, так и в Elasticsearch (который находится в другом docker -компонентном стеке) БД.