Comments (5)
@jinxidoru you might want to take a look at strong-tunnel.
I haven't tested it with docker specifically, but it was originally built to work with an http protocol similar to docker's (eg. mix of requests websockets), so it should be able to handle things like connection hijacking like Docker does for streams.
disclaimer: I wrote it
from docker-modem.
Oh nice. Have you considered creating an integration with docker-modem?
from docker-modem.
This should be all the integration you need:
var st = require('strong-tunnel');
var Docker = require('dockerode');
// the '+ssh' tells strong-tunnel to make an ssh tunnel and proxy
var remoteDocker = 'tcp+ssh://192.168.1.100:5000';
st(remoteDocker, function(err, url) {
// this returned url the local proxy, something like 'tcp://127.0.0.1:23989'
// docker requests now tunnelled over ssh via a local proxy
process.env.DOCKER_HOST = url;
var docker = new Docker();
// your normal docker.* calls here
});
from docker-modem.
from docker-modem.
Yes, it was written for TCP connections.
from docker-modem.
Related Issues (20)
- Bug: Building an image fails
- Why does followProgress require JSON output? HOT 1
- v3.0.1 causes error: "invalid character '/' looking for beginning of value" HOT 1
- Upgrade `ssh` to `1.8.0`. HOT 3
- dial() can call callback multiple times HOT 2
- Bug: followProgress throw an error on exporting images
- Wrong type on buffer response HOT 3
- [Proposal] add error event handler HOT 1
- Use the new Mac Docker socket default path, if present HOT 1
- incompatibility on Bun.js HOT 2
- Troubles with demuxStream called from docker.run HOT 1
- Bug: Vulnerability issue in ssh2 1.14.0 HOT 1
- Since v5 DOCKER_HOST is not resolved on macOS with OrbStack
- Q: Why HTTP?
- Restore exec output stream HOT 1
- Bug: pathPrefix or any host path is ignored
- ERR_STRING_TOO_LONG when getting a long list of images
- How does SSH connection works for user/password method? HOT 1
- 'image.push()' returns server error as 'Error: (HTTP code 500) server error - [object Object]'
- Error - streama.on('data', onStreamEvent);
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from docker-modem.