Tình huống:
Một số máy chủ VPS trên khắp Hoa Kỳ đã kết nối với máy tính xách tay của tôi qua mạng lưới wireguard.
Đối với mạng lưới bảo vệ dây, tôi đang sử dụng công cụ có tên là mạng bên trong (https://github.com/tonarino/innernet).
Vì vậy, về cơ bản, nó giống như máy tính xách tay và máy chủ vps của tôi nằm trên cùng một mạng nội bộ.
IP VPS = 10.32.89.1
ip máy tính xách tay = 10.32.90.1
Có vẻ như VPS và máy tính xách tay đã xác định giao diện ảo này (không chắc điều này có quan trọng không):
mạng nội bộ
Máy chủ VPS có bộ chứa mysql runig (Tôi không hiển thị cổng 3306 cho máy chủ lưu trữ).
Làm cách nào tôi có thể kết nối với máy chủ mysql dockerized đó từ máy tính xách tay của mình mà không cần gắn cổng mysql vào máy chủ?
lý luận:
Tại sao tôi muốn nó theo cách này?
Bởi vì tôi không muốn làm cho nó (máy chủ mysql) hiển thị với toàn bộ internet và do đó những kẻ tấn công, nhưng đồng thời tôi muốn dễ dàng truy cập vào dữ liệu mysql từ máy tính xách tay của mình.
giải pháp khả thi:
Đó có phải là những gì docker macvlan dành cho? Tôi có cần tạo một mạng trên VPS có giao diện mạng bên trong với tư cách là cha mẹ hay thứ gì đó không? và sau đó đính kèm bộ chứa mysql của tôi vào mạng đó?
Tôi đã thử điều này:
mạng docker tạo \
-d macvlan \
--có thể đính kèm \
--subnet=172.40.110.0/24 \
--gateway=172.40.110.1 \
-o parent=innernet \
mạng hạ tầng2
Và sau đó tôi đã thử tham gia vùng chứa mysql với nó:
mạng docker kết nối máy chủ mysql infranet2
Nhưng tôi chỉ nhận được một lỗi:
root@vps:~$ sudo docker mạng kết nối infranet2mysql-server
Phản hồi lỗi từ daemon: không thể tạo cổng macvlan: đối số không hợp lệ