Đó là tất cả về mạng Docker. Giải pháp nhanh - sử dụng host chế độ mạng cho cả hai vùng chứa. Nhược điểm là sự cô lập thấp, nhưng bạn sẽ làm cho nó hoạt động nhanh chóng:
docker run -d --network=host redis ...
docker run --network=host python-redis-py ...
Sau đó, để kết nối từ python thành redis chỉ cần sử dụng localhost như một tên máy chủ.
Giải pháp tốt hơn là sử dụng mạng cầu nối do người dùng định nghĩa của docker
# create network
docker network create foo
docker run -d --network=foo --name my-db redis ...
docker run --network=foo python-redis-py ...
Lưu ý rằng trong trường hợp này, bạn không thể sử dụng localhost nhưng thay vào đó hãy sử dụng my-db như một tên máy chủ. Đó là lý do tại sao tôi đã sử dụng --name my-db tham số khi bắt đầu vùng chứa đầu tiên. Trong các mạng cầu nối do người dùng xác định, các vùng chứa kết nối với nhau bằng tên của chúng.