2017-01-19 49 views
8

Tôi cần trợ giúp tìm hiểu nhật ký mạng của mình do mạng docker-compose.tạo docker-compose tạo ra đá cho tôi ra khỏi ssh

Tôi đang chuyển thành một VM và tôi có hai dự án với tính năng tạo docker. Đầu tiên được khởi chạy chỉ với docker-compose up. Khi tôi cố gắng để khởi động thứ hai, phiên ssh của tôi đóng băng, và tôi không còn có thể ssh vào máy ảo. Sau rất nhiều thử và sai, và sau khi đọc this Tôi cố gắng để nối thêm vào tập tin docker-compose.yml dự án thứ 2 của tôi như sau:

networks: 
    default: 
    external: 
     name: ffamfe_default 

nơi ffamfe_default là tên của mạng tạo ra bởi docker-compose up của dự án 1. Với điều này, các docker-compose up trên dự án thứ 2 không đá tôi ra khỏi phiên ssh.

Tôi đuôi các bản ghi trong /var/log/*.log, và đây là kết quả với phần mạng trong file docker-compose.yml (không có tiền tố timestamp: Jan 19 09:13:42 hostname kernel: [420096.305357]):

aufs au_opts_verify:1597:dockerd[13813]: dirperm1 breaks the protection by the permission bits on the lower branch 
device veth6a84537 entered promiscuous mode 
IPv6: ADDRCONF(NETDEV_UP): veth6a84537: link is not ready 
eth0: renamed from veth2480623 
IPv6: ADDRCONF(NETDEV_CHANGE): veth6a84537: link becomes ready 
br-fe0deb0149df: port 18(veth6a84537) entered forwarding state 
br-fe0deb0149df: port 18(veth6a84537) entered forwarding state 
aufs au_opts_verify:1597:dockerd[25317]: dirperm1 breaks the protection by the permission bits on the lower branch 
device veth1a3c1e3 entered promiscuous mode 
IPv6: ADDRCONF(NETDEV_UP): veth1a3c1e3: link is not ready 
br-fe0deb0149df: port 22(veth1a3c1e3) entered forwarding state 
br-fe0deb0149df: port 22(veth1a3c1e3) entered forwarding state 
eth0: renamed from veth54e576d 
IPv6: ADDRCONF(NETDEV_CHANGE): veth1a3c1e3: link becomes ready 
br-fe0deb0149df: port 22(veth1a3c1e3) entered disabled state 
veth54e576d: renamed from eth0 
br-fe0deb0149df: port 22(veth1a3c1e3) entered disabled state 
device veth1a3c1e3 left promiscuous mode 
br-fe0deb0149df: port 22(veth1a3c1e3) entered disabled state 
br-fe0deb0149df: port 18(veth6a84537) entered forwarding state 

và đây là đầu ra mà không các networks phần (tức là khi tôi bị đuổi khỏi phiên ssh):

IPv6: ADDRCONF(NETDEV_UP): br-55349b03453a: link is not ready 
aufs au_opts_verify:1597:dockerd[26982]: dirperm1 breaks the protection by the permission bits on the lower branch 
aufs au_opts_verify:1597:dockerd[26982]: dirperm1 breaks the protection by the permission bits on the lower branch 
aufs au_opts_verify:1597:dockerd[3051]: dirperm1 breaks the protection by the permission bits on the lower branch 
device veth7a1bcde entered promiscuous mode 
IPv6: ADDRCONF(NETDEV_UP): veth7a1bcde: link is not ready 
br-55349b03453a: port 1(veth7a1bcde) entered forwarding state 
br-55349b03453a: port 1(veth7a1bcde) entered forwarding state 
br-55349b03453a: port 1(veth7a1bcde) entered disabled state 
eth0: renamed from veth5d8a2ea 
IPv6: ADDRCONF(NETDEV_CHANGE): veth7a1bcde: link becomes ready 
br-55349b03453a: port 1(veth7a1bcde) entered forwarding state 
br-55349b03453a: port 1(veth7a1bcde) entered forwarding state 
IPv6: ADDRCONF(NETDEV_CHANGE): br-55349b03453a: link becomes ready 
aufs au_opts_verify:1597:dockerd[13814]: dirperm1 breaks the protection by the permission bits on the lower branch 
aufs au_opts_verify:1597:dockerd[13814]: dirperm1 breaks the protection by the permission bits on the lower branch 
aufs au_opts_verify:1597:dockerd[13922]: dirperm1 breaks the protection by the permission bits on the lower branch 
device veth3253bd4 entered promiscuous mode 
IPv6: ADDRCONF(NETDEV_UP): veth3253bd4: link is not ready 
br-55349b03453a: port 2(veth3253bd4) entered forwarding state 
br-55349b03453a: port 2(veth3253bd4) entered forwarding state 
br-55349b03453a: port 2(veth3253bd4) entered disabled state 
eth0: renamed from veth9c8aaa3 
IPv6: ADDRCONF(NETDEV_CHANGE): veth3253bd4: link becomes ready 
br-55349b03453a: port 2(veth3253bd4) entered forwarding state 
br-55349b03453a: port 2(veth3253bd4) entered forwarding state 
br-55349b03453a: port 2(veth3253bd4) entered disabled state 
veth9c8aaa3: renamed from eth0 
br-55349b03453a: port 2(veth3253bd4) entered disabled state 
device veth3253bd4 left promiscuous mode 
br-55349b03453a: port 2(veth3253bd4) entered disabled state 
br-55349b03453a: port 1(veth7a1bcde) entered forwarding state 
br-55349b03453a: port 1(veth7a1bcde) entered disabled state 
veth5d8a2ea: renamed from eth0 
br-55349b03453a: port 1(veth7a1bcde) entered disabled state 
device veth7a1bcde left promiscuous mode 
br-55349b03453a: port 1(veth7a1bcde) entered disabled state 

I không thực sự hiểu cách đọc các nhật ký này. Here cũng là ifconfig của tôi. Ai đó có thể giúp tôi đọc nhật ký và tìm ra vấn đề là gì không?

Trả lời

0

Cuối cùng tôi đã kết thúc chạy docker network ls. Đầu ra là một danh sách gồm hơn 15 mạng đã rất cũ. Tôi đã chạy một số docker ps để đảm bảo rằng không có gì liên quan đến các mạng này vẫn đang chạy. Một container thực sự vẫn đang chạy (redis) và nó đã được trên một mạng gọi là bridge. Tôi đã dừng thùng chứa. Sau đó, tôi bắt đầu đi qua tất cả các mạng với docker network rm <network name> cho đến khi tôi bị bỏ lại với 4 mạng: bridge, host, none, và mạng duy nhất vẫn đang hoạt động. Sau đó, tôi có thể bắt đầu lại các mạng mới với số docker-compose up như thường lệ

2

Br xxxxxxx là giao diện cầu của Docker và veth xxxxxxx là giao diện ảo của container của bạn, Docker sử dụng những giao diện veth nhưng bạn không tương tác trực tiếp trên đó, họ sử dụng một địa chỉ IPv6 và don' t có IPv4. Docker không thể tạo các giao diện NAT, nó chỉ có thể tạo cầu nối và veth với IPv6 cho các thùng chứa. Bạn có thể liên kết cây cầu của mình với bất kỳ giao diện vật lý hoặc ảo nào của máy chủ lưu trữ của bạn.

Vì vậy, nó hoạt động như thế:

eth0 (giao diện của bạn hoặc v-giao diện nếu bạn muốn) ↔ BR xxxxx (Docker cầu) ↔ veth xxxxx (v-giao diện Đó là tất cả những gì tôi có thể nói, tôi không chắc ai đó sẽ trả lời, không có nhiều chuyên gia Docker, vì vậy tôi cung cấp cho bạn tất cả thông tin tôi có thể để giúp bạn hiểu nhật ký của mình.

+0

Cảm ơn câu trả lời của bạn.So sánh các bản ghi, chỉ có 2 sự khác biệt mà tôi có thể thấy là các số cổng 18/22 trong trường hợp thành công khác với các cổng 1/2 trong trường hợp không thành công. Ngoài ra, có vẻ như một số dòng được nhân đôi trong nhật ký. Bạn có nghĩ rằng hai điểm này có thể liên quan đến tôi bị đuổi khỏi phiên ssh không? Phiên ssh của tôi là trên cổng 22, nhưng trường hợp khi cổng 22 xuất hiện trong nhật ký là trường hợp khi tôi KHÔNG bị loại bỏ. – shadi

+0

Nó không làm cho bất kỳ nghi ngờ rằng câu chuyện cổng là điểm then chốt của vấn đề của bạn, tại sao bạn có những kết quả, tôi thực sự không biết. Và dupplicates có thể có nghĩa là docker daemon gặp phải một số vấn đề trong cấu hình mạng của bạn ... Tôi không thể khẳng định bất cứ điều gì, nó chỉ là ý kiến ​​của tôi và tôi xin lỗi vì không thể giúp bạn nhiều hơn: / –

Các vấn đề liên quan