
Product
Introducing Custom Tabs for Org Alerts
Create and share saved alert views with custom tabs on the org alerts page, making it easier for teams to return to consistent, named filter sets.
docker-browser-server
Advanced tools
Spawn and expose docker containers over http and websockets
npm install -g docker-browser-server
Running the above will expose a command line tool called docker-browser-server.
To run the server do
docker-browser-server docker-image-name --port 8080
Make sure you pulled docker-image-name from a docker registry first.
Running the above will start the server on port 8080
Visit http://localhost:8080 after to attach to a container using a web browser.
You can also pass --hostNetworking to run the containers in host network mode, meaning the network is not virtualized (may be necessary for p2p connections to work)
To spawn a new container create a websocket to the server and pipe it to a docker-browser-console instance
// using browserify
var docker = require('docker-browser-console')
var websocket = require('websocket-stream')
var container = docker()
var socket = websocket('ws://localhost:8080')
container.appendTo(document.body)
socket.pipe(container).pipe(socket)
A demo interface is available if you simply visit http://localhost:8080 after starting the server
If you run expose-fs inside your container the containers file system will be exposed using the following rest api
GET /files/{container}/{path} Get a file or directory listingPUT /files/{container}/{path} Write a new file with the http bodyPOST /files/{container}/{path} Create a new directoryWhen you spawn a new container a special env var called $HOST will be set to a http address.
If you listen on port 80 inside the container all requests going to $HOST will be forwarded to this server.
Checkout maxogden/adventure-time for a complete client environment that integrates with docker-browser-server.
The easiest way to create your own workshop is creating a new Dockerfile and inheriting from the mafintosh/docker-browser-adventure image. This will setup expose-fs and install node among other things
FROM mafintosh/docker-adventure-time
RUN npm install -g your-workshop-stuff
var server = require('docker-browser-server')
var s = server('mafintosh/dev')
s.on('spawn', function(container) {
console.log('spawned new container', container.id)
})
s.on('kill', function(container) {
console.log('killed container', container.id)
})
s.listen(8080)
MIT
FAQs
Spawn and expose docker containers over http and websockets
The npm package docker-browser-server receives a total of 3 weekly downloads. As such, docker-browser-server popularity was classified as not popular.
We found that docker-browser-server demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Create and share saved alert views with custom tabs on the org alerts page, making it easier for teams to return to consistent, named filter sets.

Product
Socket’s Rust and Cargo support is now generally available, providing dependency analysis and supply chain visibility for Rust projects.

Security News
Chrome 144 introduces the Temporal API, a modern approach to date and time handling designed to fix long-standing issues with JavaScript’s Date object.