You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+11-9Lines changed: 11 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,7 +41,7 @@ The easiest way is to pull the docker image, and run from that. The steps are as
41
41
and then browse to that IP address using the port that you mapped in step 2. E.g.: `http://192.17.22.1:5000`
42
42
43
43
### Running with node.js
44
-
Alternatively, if you have node.js installed on your docker host, you can clone the github repository, and run voxel-dockerclient yourself. The steps are:
44
+
Alternatively, if you have node.js installed on your docker host, you can clone the github repository, and build and run voxel-dockerclient yourself. The steps are:
45
45
46
46
1. Clone the github repository with
47
47
@@ -56,7 +56,8 @@ Alternatively, if you have node.js installed on your docker host, you can clone
56
56
3. Run
57
57
58
58
```
59
-
npm start
59
+
npm run build-all
60
+
npm run run-docker
60
61
```
61
62
4. Browse to `http://localhost:8080`
62
63
@@ -69,8 +70,8 @@ voxel-dockerclient has been tested using recent Chrome and Firefox browsers, on
69
70
70
71
## What's next?
71
72
I intend to add the following capabilities quickly:
72
-
*`docker logs` equivalent
73
-
*`docker attach` equivalent
73
+
*~~`docker logs` equivalent~~** DONE
74
+
*~~`docker attach` equivalent~~** DONE
74
75
*`docker pull` equivalent
75
76
* A better interface for the `create` command
76
77
**Some* security
@@ -83,18 +84,19 @@ In the pipeline, further down, are:
83
84
I don't really know how far I want to take this. I do want voxel-dockerclient to be complete, but I want to keep it simple. I may turn it into a teaching tool eventually.
84
85
85
86
## How does it work?
86
-
On the server, voxel-dockerclient uses [Express](http://expressjs.com/) and the excellent [dockerode](https://github.com/apocas/dockerode) node module to provide a proxy for a subset of the Docker remote API.
87
+
~~On the server, voxel-dockerclient uses [Express](http://expressjs.com/) and the excellent [dockerode](https://github.com/apocas/dockerode) node module to provide a proxy for a subset of the Docker remote API.~~
88
+
The voxel-dockerclient server is simply nginx, proxying the docker daemon's UNIX socket. At the moment, it proxies the full API with no authorization. This will change.
87
89
88
90
On the client, it uses the brilliant [voxeljs](http://voxeljs.com/) family of node modules to render the UI, and the [axios](https://github.com/mzabriskie/axios) node module to communicate with the proxied API.
89
91
90
-
I am using an older flavour of the main voxeljs module, voxel-engine. I had to fork it because of some incompatibilities with later modules. The original is [here](https://github.com/maxogden/voxel-engine), and my forked version [here](https://github.com/rajch/voxel-engine).
92
+
I have used an older flavour of the main voxeljs module, voxel-engine. I had to fork it because of some incompatibilities with later modules. The original is [here](https://github.com/maxogden/voxel-engine), and my forked version [here](https://github.com/rajch/voxel-engine).
91
93
The same treatment had to be given for a voxeljs plugin called voxel-keys. The original is [here](https://github.com/voxel/voxel-keys), and my fork [here](https://github.com/rajch/voxel-keys).
92
94
93
95
The code is open source, under the MIT license. I would love contribution, in the form of issue reporting, feature requests, pull requests, anything.
94
96
95
97
## Acknowledgements
96
98
I would like to thank:
97
-
* The fine folk of Docker, for Docker
98
-
* The fine folk behind the voxeljs family of modules. github/maxogden, github/kumavis, github/deathcap, github/substack et al. These are really nice.
99
-
* The authors of the dockerode and axios modules
99
+
* The fine folk of @docker, for Docker
100
+
* The fine folk behind the voxeljs family of modules. @github/maxogden, @github/kumavis, @github/deathcap, @github/substack et al. These are really nice.
101
+
* The authors of the dockerode and axios modules, although I'm not using dockerode any more.
100
102
* My partner, Chitra Raghavan, for contributing the player model, testing, and bearing with me while I was building this
Copy file name to clipboardExpand all lines: docs/index.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,6 +25,8 @@ Open the command console, and try the commands. Currently, the following command
25
25
|top|Shows processes running in a container|
26
26
|start|Starts a container|
27
27
|stop|Stops a container|
28
+
|logs|Shows a container's logs|
29
+
|attach|Attaches a terminal to an interactive container|
28
30
|go|Takes player to a container, or to the first or last container. Type go home if you get lost.|
29
31
|remove|Deletes a container|
30
32
|create|Creates a container|
@@ -43,3 +45,6 @@ Activity performed in other clients, such as the official docker client, will no
43
45
44
46
The `go` command can be used to teleport the player to a particular container, using the syntax `go <containername>`. `go home` will teleport to the first (oldest) container. `go nextslot` will teleport to the spot where the next new container will appear.
45
47
48
+
The `logs` command shows a container's logs, if available.
49
+
50
+
The `attach` command opens a terminal attached to the main process of a container. You can press Ctrl+L to refresh the terminal, and Ctrl+P, Ctrl+Q to detach the terminal.
0 commit comments