Liệu tuyên bố trên một Docker-compose.yml:Có phải "cổng" trên docker-compose.yml có cùng tác dụng như EXPOSE trên Dockerfile không?
ports:
- "3306:3306"
và trên Dockerfile:
EXPOSE 3306
có tác dụng tương tự?
Liệu tuyên bố trên một Docker-compose.yml:Có phải "cổng" trên docker-compose.yml có cùng tác dụng như EXPOSE trên Dockerfile không?
ports:
- "3306:3306"
và trên Dockerfile:
EXPOSE 3306
có tác dụng tương tự?
Không: EXPOSE
(EXPORT
không tồn tại) chỉ mở cổng trong vùng chứa, làm cho nó có thể truy cập được bởi các vùng chứa khác.
"3306:3306"
sẽ xuất bản cổng trên máy chủ, làm cho cùng một cổng có thể truy cập từ máy chủ.
Xem Dockerfile EXPOSE
:
Các
EXPOSE
hướng dẫn thông báo Docker rằng container lắng nghe trên các cổng mạng quy định tại thời gian chạy.
EXPOSE
không làm cho các cổng của vùng chứa có thể truy cập được với máy chủ. Để làm điều đó, bạn phải sử dụng cờ-p
để xuất bản một loạt các cổng.
Đó là những gì phần docker-compose.yml
ports thực hiện. Nó ánh xạ cổng container đến máy chủ.