Đó 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.