Я пытаюсь подключиться к python серверу, работающему под docker (создать) и получаю сообщение об ошибке «Отказано в соединении» в Ubuntu. Любая помощь приветствуется.
Команда для сборки моего сервера с использованием docker compose:
sudo docker-compose up -d
клиент пытается подключиться с помощью curl: (192.168.1.149 - это stati c IP Ubuntu машина), я пытался с 127.0.0.1 и IP-адресом docker изображения и 0.0.0.0 без каких-либо различий.
curl --data "Testing" 192.168.1.149:5149
Ответ от команды curl:
curl: (7) Failed to connect to 192.168.1.149 port 5149: Connection refused
dockerfile_test:
FROM python:3.8
EXPOSE 5149
COPY ./test_main.py /
CMD ["python", "-u", "./test_main.py"]
docker -compose.yaml:
version: '3'
services:
test_expose:
build:
context: /home/home/mydockers/custom_docker/test_expose_port
dockerfile: dockerfile_test
image: test_expose
container_name: test_expose
ports:
- 5149:5149
restart: unless-stopped
test_main.py:
import socket
import time
socket_receive_buffer = 4096
def main():
try:
print("Create socket")
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
print("Bind socket")
sock.bind(('0.0.0.0', 5149))
while True:
print("In loop waiting for data")
data, address = sock.recvfrom(socket_receive_buffer)
print("received data")
string_data = data.decode('utf-8')
print(string_data)
except Exception as e:
print("got error")
if sock is not None:
sock.close()
print("Exception " + str(e))
time.sleep(60)
main()