26:32 hình như chỗ này anh nói nhầm đúng không anh? mình đang ở B3 và ping sang B4 bằng tên container. Chứ B2 đâu có chung mạng với B4 mà ping được nhỉ?
Không hiểu sao network mình tạo ra là MyNetwork chứa B3 và B4 thì B3 ping được cả IP và name B4. Còn bên network Bridge thì B1 chỉ ping được IP của B2 chứ không ping theo name của B2 được?
a cho em hỏi với ạ. Em đang chạy một service trên máy cài docker, mạng host của máy là private . giờ em muốn con nginx của ứng dụng khác đang chạy trong container của docker trên máy có thể reserve host của service chạy ngoại
Mình đang gặp vấn đề với network bên trong Container. Sử dụng bridge mặc định nhưng ko thể đi ra ngoài Internet. Mình sử dụng virtualbox cài trên Server vật lý chạy Centos 7 làm Docker Host Docker Host cũng chạy Centos 7 docker run busybox nslookup google.com ;; connection timed out; no servers could be reached Đã áp dụng các cách sau: $ sysctl net.ipv4.conf.all.forwarding=1 $ sudo iptables -P FORWARD ACCEPT Cũng đã tắt firewalld trên Docker host running Centos 7 Nhưng vẫn ko thể ping ra ngoài Internet bằng brigde network. Nhưng có thể ra Internet bằng host network. docker run busybox ping -c 1 google.com PING google.com (192.203.230.10): 56 data bytes - google.com ping statistics - 1 packets transmitted, 0 packets received, 100% packet loss Cách này thì works : docker run --network host busybox ping -c 1 google.com PING google.com (google.com): 56 data bytes 64 bytes from google.com: seq=0 ttl=57 time=4.450 ms - google.com ping statistics - 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 4.450/4.450/4.450 ms Các cao nhân chỉ giáo giúp mình với, tks all
Anh ơi khi em stop một container ở b2 bằng lệnh docker stop b2 sau đó em lại dùng lệnh docker start b2 thì lúc này em vào trình duyệt localhost:8888 nó không hiện thị ra gì hết vậy anh
@@strawhat5916 mình cũng bị.đọc trên doc của nó có dòng này "The docker (Linux) bridge network is not reachable from the Windows host. However, it works with Windows containers"
anh ơi cho em hỏi làm sao để mỗi container chạy 1 ip/24 . nghĩa là máy host của e chạy dải ip /24 này, và e muốn các máy client dùng dải ip/24 này cũng ping đc tới container ạ.
bài toán thực tế của e là dùng 1 máy chủ ubuntu chạy đồng thời các dịch vụ mail server, samba, odoo chẳng hạn, em muốn ip máy host(server ubuntu) là 192.168.1.100, ip của container mail sẽ phải là : 192.168.1.101, samba: 192.168.1.102, odoo: 192.168.1.103 , rồi các máy client có ip dạng 192.168.1.xxx sẽ sử dụng các dịch vụ trên thông qua gõ ip của container đó.
Nguyên tắc là không! Dù vẫn có thể khi can thiệp vào cấu hình Docker, chỉnh trực tiếp file hostconfig.json của hệ thống Docker và phải khởi động lại hệ thống Docker -> Không nên làm vậy
a ơi cho e hỏi là e đã làm theo các bước của a nhưng ko truy cập dc vào 127.0.0.1:8888/ , e đã tao docker run -it --name B2 -p 8888:80 busybox chạy htttpd và đã tạo index.html rồi, e chạy trên window
vốn dĩ khi tạo bridge thì sẽ tạo ra 1 subnet khác. và mặc định các subnet ko ping được với nhau. còn NAT là khi chúng ta map port khi tạo container sao ko dùng khái niệm network hay subnet cho nó giống bên mạng nhỉ :D đối với dân mạng thì khái niệm bridge lại khác.
a ơi khi đang tạo file html, gõ đoạn text xong thì làm thế nào để con trỏ xuống dưới cùng r gõ wp vậy a? A làm tắt thao tác quá nên k biết đường nào mà lần khúc đó ạ
Cho mình hỏi, mình có 1 vấn đề, hiện tại domain local network bên mình chỉ cho phép kết nối server db trực tiếp từ các máy tính có chung domain. Nhưng khi mình kết nối từ docker ra server db trong mạng lan thì nó báo lỗi. có cách nào giải quyết vấn đề này không??? Cảm ơn
Em mạo phép hỏi ngu anh XuanThu cái, lỡ em xóa hết 3 mạng bridge, host, none mặc định ban đầu do Docker tạo ra thì sẽ như nào ạ, mình có còn sử dụng được bình thường nữa đc không? Em ko dám thử vì lười phải cài lại Docker :(
Bạn ơi cho mình nhờ chut. Mình làm y chang như bạn như khi mình đứng ở container B1 chạy web thì báo lỗi này. / # wget -o - 172.17.0.3 Connecting to 172.17.0.3 (172.17.0.3:80) wget: can't open 'index.html': File exists
Các bạn đăng ký theo dõi ủng hô kênh nhé, cảm ơn các bạn th-cam.com/users/xuanthulab
Cảm ơn anh vì chuỗi bài Docker này ạ :)
xem loạt tutorial của bác từ C# qua tới bên đây luôn
series quá hay. Cảm ơn anh Xuân Thứ ^^
Bài hướng dẫn rất dễ hiểu, cảm ơn anh ạ.
Cho em hỏi đoạn 25:36 ipv4 của mạng là 172.23.0.3 hoặc 172.23.0.2 nhưng sao lại ping 172.17.0.3 vậy anh ,
Mong được giải đáp từ anh.
Ping sang mạng cầu bên cạnh đó bạn.. Chứ ping cùng network nói làm gì nữa.
busybox mà nghe cứ tưởng busybook :))
Để thoát vim ở Window ấn : Esc -> Shifl+ : -> w q
Hay qua anh oi
M.n thể giải thích giúp e driver trong video có ý nghĩa gì được không ạ ? E cảm ơn nhiều ạ
anh làm video hay cực, ủng hộ anh
26:32 hình như chỗ này anh nói nhầm đúng không anh? mình đang ở B3 và ping sang B4 bằng tên container. Chứ B2 đâu có chung mạng với B4 mà ping được nhỉ?
Cám ơn anh rất nhiều vì loạt video về docker rất dễ hiểu ạ
11:42 cái này là Port Forwarding phải k ạ, em nghe từ khóa nhiều rồi mà chưa thực hành thử
hay quá. rất dễ hiểu luôn bác. đăng ký xem bác thêm video nào hướng dẫn hay như này
Không hiểu sao network mình tạo ra là MyNetwork chứa B3 và B4 thì B3 ping được cả IP và name B4. Còn bên network Bridge thì B1 chỉ ping được IP của B2 chứ không ping theo name của B2 được?
docs.docker.com/network/network-tutorial-standalone/#use-user-defined-bridge-networks
Cùng 1 mạng mới ping dc bạn ơi , khác mạng thì địa chỉ ip có thể trùng dc mà, mà trùng thì lúc ping biết gọi container nào ? Kiểu thế
a cho em hỏi với ạ. Em đang chạy một service trên máy cài docker, mạng host của máy là private . giờ em muốn con nginx của ứng dụng khác đang chạy trong container của docker trên máy
có thể reserve host của service chạy ngoại
Video rất hay. Anh cho em hỏi thêm là muốn map port từ host vào 1 container đang chạy thì sử dụng lệnh nào ah? Cám ơn anh.
Mình đang gặp vấn đề với network bên trong Container. Sử dụng bridge mặc định nhưng ko thể đi ra ngoài Internet.
Mình sử dụng virtualbox cài trên Server vật lý chạy Centos 7 làm Docker Host
Docker Host cũng chạy Centos 7
docker run busybox nslookup google.com
;; connection timed out; no servers could be reached
Đã áp dụng các cách sau:
$ sysctl net.ipv4.conf.all.forwarding=1
$ sudo iptables -P FORWARD ACCEPT
Cũng đã tắt firewalld trên Docker host running Centos 7
Nhưng vẫn ko thể ping ra ngoài Internet bằng brigde network. Nhưng có thể ra Internet bằng host network.
docker run busybox ping -c 1 google.com
PING google.com (192.203.230.10): 56 data bytes
- google.com ping statistics -
1 packets transmitted, 0 packets received, 100% packet loss
Cách này thì works :
docker run --network host busybox ping -c 1 google.com
PING google.com (google.com): 56 data bytes
64 bytes from google.com: seq=0 ttl=57 time=4.450 ms
- google.com ping statistics -
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 4.450/4.450/4.450 ms
Các cao nhân chỉ giáo giúp mình với, tks all
Rất cảm ơn anh vì những bài về docker, tuyệt vời !!!
Sao e khong thoat duoc Vim v a
Bạn đọc qua vài lệnh VIM nhé xuanthulab.net/soan-thao-file-trong-linux-voi-vim-va-nano.html#vimopen
Anh ơi khi em stop một container ở b2 bằng lệnh docker stop b2 sau đó em lại dùng lệnh docker start b2 thì lúc này em vào trình duyệt localhost:8888 nó không hiện thị ra gì hết vậy anh
Khi bạn dừng B2, dịch vụ http trong nó cũng bị dừng, nên cần vào lại container chạy lại http nhé
@@XuanThuLab dạ em cảm ơn anh, em đã làm được rồi ạ
@@XuanThuLab a ơi, e dùng windows, container vẫn đang chạy nhưng em không vào được http qua localhost:8888 trên chrome máy host anh ạ.
@@strawhat5916 mình cũng bị.đọc trên doc của nó có dòng này "The docker (Linux) bridge network is not reachable from the Windows host. However, it works with Windows containers"
@@tuanpham-vb5sd mình tìm hiểu qua thì do máy mặc dù là cùng local host nhưng lại sử dụng interface trong và ngoài nên ko communicate được.
trên bài là B3 connect vào với B1-B2 chứ B4 có connect đâu sao B2 lại ping được với B4 vậy
Em cảm ơn anh, dễ hiểu và rất hữu ích.
Anh ơi em đã ánh xạ port 8888:80 trên máy host nhưng từ host truy cập vào 127.0.0.x :8888 thì nó báo connection reset là sao ạ
anh ơi cho em hỏi làm sao để mỗi container chạy 1 ip/24 . nghĩa là máy host của e chạy dải ip /24 này, và e muốn các máy client dùng dải ip/24 này cũng ping đc tới container ạ.
bài toán thực tế của e là dùng 1 máy chủ ubuntu chạy đồng thời các dịch vụ mail server, samba, odoo chẳng hạn, em muốn ip máy host(server ubuntu) là 192.168.1.100, ip của container mail sẽ phải là : 192.168.1.101, samba: 192.168.1.102, odoo: 192.168.1.103 , rồi các máy client có ip dạng 192.168.1.xxx sẽ sử dụng các dịch vụ trên thông qua gõ ip của container đó.
Mình tìm hiểu thì đến giờ yêu cầu của bạn không thực hiện được, nói chung các container liên lạc với nhau qua 1 IP máy HOST và cổng tương ứng
@@XuanThuLab hic, cty em đang sài kiểu đó nek, mà ko biết ông đó làm kiểu gì, hỏi thì chỉ cho từ khóa là docker :(
@@XuanThuLab anh đang sinh sống ở đâu vậy ạ, nếu trong HCM hay gần đó hn rảnh e mời cafe hỏi chút được ko ạ.
@@quyofitxo7991 Khá phức tạp đấy - Bạn thử xem forums.docker.com/t/new-to-docker-need-assistance/47302/2
bác ơi nếu máy e có 2 card mạng (eth0, eth1) thì làm ntn để định tuyến từng container vào từng card ạ
Trong Linx: sử dụng driver MACVLAN, nó gán eth0 hay eth1: docs.docker.com/network/macvlan/
```docker images
docker run -it --rm busybox
docker network ls
docker network inspect host
```
Anh ơi cho em hỏi là có cách nào thêm cổng cho container đang chạy mà không phải tạo lại container không ạ
Nguyên tắc là không! Dù vẫn có thể khi can thiệp vào cấu hình Docker, chỉnh trực tiếp file hostconfig.json của hệ thống Docker và phải khởi động lại hệ thống Docker -> Không nên làm vậy
a ơi cho e hỏi là e đã làm theo các bước của a nhưng ko truy cập dc vào 127.0.0.1:8888/ , e đã tao
docker run -it --name B2 -p 8888:80 busybox
chạy htttpd và đã tạo index.html rồi, e chạy trên window
tuyệt vời
cái bridge này giống như khái niệm NAT hơn hay sao ấy
vốn dĩ khi tạo bridge thì sẽ tạo ra 1 subnet khác. và mặc định các subnet ko ping được với nhau. còn NAT là khi chúng ta map port khi tạo container
sao ko dùng khái niệm network hay subnet cho nó giống bên mạng nhỉ :D đối với dân mạng thì khái niệm bridge lại khác.
a ơi khi đang tạo file html, gõ đoạn text xong thì làm thế nào để con trỏ xuống dưới cùng r gõ wp vậy a? A làm tắt thao tác quá nên k biết đường nào mà lần khúc đó ạ
bạn gõ ESC, sau do tổ hợp phím SHIFT + ZZ nhé
Bài hướng rất hay, thanks a lot!
Cho mình hỏi, mình có 1 vấn đề, hiện tại domain local network bên mình chỉ cho phép kết nối server db trực tiếp từ các máy tính có chung domain. Nhưng khi mình kết nối từ docker ra server db trong mạng lan thì nó báo lỗi. có cách nào giải quyết vấn đề này không??? Cảm ơn
Em mạo phép hỏi ngu anh XuanThu cái, lỡ em xóa hết 3 mạng bridge, host, none mặc định ban đầu do Docker tạo ra thì sẽ như nào ạ, mình có còn sử dụng được bình thường nữa đc không? Em ko dám thử vì lười phải cài lại Docker :(
Docker không cho xóa 3 cái đó đâu, bạn thử xem
Anh ơi, em gõ vi index.html rồi nhưng không thoát ra được @@
Em đọc qua sử dụng Vim đi - xuanthulab.net/soan-thao-file-trong-linux-voi-vim-va-nano.html#RelativeLayout
Rất hay ạ
Rất hay ạ. Thanks a
Cảm ơn ad nhiều nhé
quá hạy luôn ạ
Bạn ơi cho mình nhờ chut. Mình làm y chang như bạn như khi mình đứng ở container B1 chạy web thì báo lỗi này.
/ # wget -o - 172.17.0.3
Connecting to 172.17.0.3 (172.17.0.3:80)
wget: can't open 'index.html': File exists
Cảm ơn a rất nhiều.