Tôi đang cố triển khai các thùng chứa bằng cách sử dụng soạn thảo docker
đến máy chủ từ xa thông qua SSH.SSH máy chủ từ xa chỉ có thể được truy cập qua proxy SOCKS. Tôi đã tạo ra ~/.ssh/config
với cấu hình SOCKS hợp lệ cho điều đó:
Máy chủ <my.host>
Tên máy chủ <my.host>
ProxyCommand socks-connect -S <socks-user>@<socks-host>:<socks-port> %h %p
Cổng <ssh-port>
Người dùng <ssh-người dùng>
IdentityFile ~/.ssh/<ssh-key>
Cấu hình này đang hoạt động tốt: Tôi có thể kết nối qua proxy bằng cách sử dụng ssh <máy chủ của tôi>
chỉ huy.
Sau đó, tôi đã tạo ngữ cảnh Docker và kiểm tra nó:
$ bối cảnh docker tạo điều khiển từ xa --docker "host=ssh://<my.host>"
$ docker --context=điều khiển ps
<danh sách các container đang chạy trên máy chủ từ xa>
Nhưng khi tôi cố gắng sử dụng bối cảnh này với soạn thảo docker
, nó không thành công với lỗi:
$ docker-compose --context=remote --verbose ps
LỖI: Có phản hồi lỗi từ máy chủ SOCKS: 4 (Không thể truy cập máy chủ)
FATAL: không thể bắt đầu chuyển tiếp qua SOCKS
kex_exchange_identification: Kết nối bị đóng bởi máy chủ từ xa
Ngoài ra, tôi đã thử sử dụng DOCKER_HOST
môi trường nhưng có cùng một lỗi: env DOCKER_HOST="ssh://<my-host>" docker-compose ps
.
Vì vậy, có vẻ như vấn đề là ở soạn thảo docker
bởi vì tinh khiết người đóng tàu
các lệnh hoạt động chính xác. Điều gì có thể là vấn đề ở đây và làm cách nào để khắc phục hành vi này?
Phiên bản máy khách Docker: 20.10.7
Phiên bản máy chủ Docker (từ xa): 19.03.12
Docker soạn phiên bản: 1.29.2