1. Docker Network
1 2 3 4 5 6 7 |
$ sudo docker network ls $ sudo docker network create --driver bridge mynetwork $ sudo docker network create --driver bridge network1 $ sudo docker network rm network1 $ sudo docker network inspect mynetwork // Thêm 1 container mycontainer vào network có tên mynetwork docker network connect mynetwork mycontainer |
2. Kết nối giữa các Container
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
// busybox là 1 images chứa nhiều lệnh liên quan đến mạng (như ping, http) $ docker pull busybox $ docker run -it --rm busybox // kiểm tra các lệnh có trong busybox ls -la /bin/ ping google.com.vn // B1 mặc định (không có ánh xạ cổng, và sử dụng network mặc định là bridge) $ docker run -it --name B1 busybox // B2 ánh xạ từ localhost:8888 đến cổng 80 $ docker run -it --name B2 -p 8888:80 busybox // B3 sử dụng network là: mynetwork $ docker run -it --name B3 --network mynetwork busybox // B4 sử dụng network là mynetwork, ánh xạ từ localhost:9999 đến cổng 80 $ docker run -it --name B4 busybox // Lưu ý 1: Ctrl + P + Q để thoát terminal của container mà ko exit container đó // Lưu ý 2: B1 và B2 dùng chung mạng bridge nên kết nối được với nhau, nhưng không cùng mạng với B3, B4 nên không kết nối được // Xem chi tiết 1 container $ docker inspect B1 // Tại B2 thử tạo 1 http (B4 làm tương tự) docker attach B2 cd var/www // Tạo máy chủ http làm việc trên thư mục này và sử dụng cổng PORT 80 httpd // Tạo 1 file html trong thư mục này vi index.html // Sửa nội dung file thành: "Server is running" // Tại B1 sử dụng ping đến google hoặc B2 docker attach B1 ping google.com --> ok ping 172.17.0.3 --> ping đến B2 --> ok ping 172.20.0.2 --> ping đến B3 --> ok (do B3 đã được connect tới bridge) ping 172.20.0.3 --> ping đến B4 --> failed // Khi cùng network, có thể dùng tên container để ping ping B2 ping B3 // Thử http get đến B2 wget -O - 172.17.0.3 wget -O - B2 # Server is running // Tại trình duyệt máy host truy cập: http://127.0.0.1:8888 # Server is running |