Docker expose là gì? Hướng dẫn exposing port docker container

Docker expose là gì? Hướng dẫn exposing port docker container

docker run -p host_port:container_port images

Docker expose là gì?

Docker expose là hành động chuyển hướng port của docker container sang port của host chứa container.

Mỗi container khi được tạo ra đều chạy trên một ip riêng (nó tương tự như một máy ảo riêng biệt).

Ví dụ khi mình tạo một container từ image tomcat và kiểm tra thấy nó chạy trên ip 172.17.0.2 vậy muốn truy cập trang web của tomcat thì mình sẽ truy cập thông qua địa chỉ 172.17.0.2:8080 chứ không thể truy cập qua địa chỉ localhost:8080

Docker expose là gì? Hướng dẫn exposing port docker container Docker expose là gì? Hướng dẫn exposing port docker container Docker expose là gì? Hướng dẫn exposing port docker container

Tuy nhiên, một host có thể chứa nhiều docker container. Khi truy cập người ta chỉ quan tâm nó ở trên host nào và truy cập thông qua ip của host đó. Do đó ta cần expose port của container sang port của host.

Hướng dẫn exposing port docker container

Để thực hiện expose port cho container. Khi run container ta thêm option -p host_port:container_port

Ví dụ mình expose port 8080 của container tomcat sang port 8080 của host. Sau đó mình có thể truy cập tomcat qua localhost:8080, và các host khác cũng có thể truy cập tomcat thông qua ip của host hiện tại.

docker run -p 8080:8080 tomcat

Tương tự mình muốn truy cập port 8080 của container thông qua port 8081 của container thì chạy lệnh sau:

docker run -p 8081:8080 tomcat

Hướng dẫn exposing port docker container

 

 

Okay, Done!

References: https://docs.docker.com/engine/reference/run/

stackjava.com