add prog: "dops"
This commit is contained in:
parent
7bc9dc74ac
commit
e54522c3f8
BIN
www/data/images/program_img/dops.png
Normal file
BIN
www/data/images/program_img/dops.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 73 KiB |
2
www/extern/egg/Logger.php
vendored
2
www/extern/egg/Logger.php
vendored
@ -53,7 +53,7 @@ class SingleFileLogger implements ILogger
|
|||||||
public function __construct($filename)
|
public function __construct($filename)
|
||||||
{
|
{
|
||||||
$this->path = $filename;
|
$this->path = $filename;
|
||||||
file_put_contents($this->path, '', FILE_TEXT);
|
file_put_contents($this->path, '');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function proclog($text)
|
public function proclog($text)
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
class Programs implements IWebsiteModule
|
class Programs implements IWebsiteModule
|
||||||
{
|
{
|
||||||
const PROG_LANGS = [ 'Java', 'C#', 'Delphi', 'PHP', 'C++', 'Rust', 'Typescript' ];
|
const PROG_LANGS = [ 'Java', 'C#', 'Delphi', 'PHP', 'C++', 'Rust', 'Typescript', 'Go' ];
|
||||||
|
|
||||||
const URL_ORDER =
|
const URL_ORDER =
|
||||||
[
|
[
|
||||||
|
@ -19,7 +19,7 @@ class RuleEngine
|
|||||||
$parse = parse_url($requri);
|
$parse = parse_url($requri);
|
||||||
|
|
||||||
$path = isset($parse['path']) ? $parse['path'] : '';
|
$path = isset($parse['path']) ? $parse['path'] : '';
|
||||||
$pathparts = preg_split('@/@', $path, NULL, PREG_SPLIT_NO_EMPTY);
|
$pathparts = preg_split('@/@', $path, -1, PREG_SPLIT_NO_EMPTY);
|
||||||
$partcount = count($pathparts);
|
$partcount = count($pathparts);
|
||||||
|
|
||||||
foreach ($urlConfig as $rule)
|
foreach ($urlConfig as $rule)
|
||||||
|
@ -733,4 +733,23 @@ return
|
|||||||
'download' => 'https://github.com/Mikescher/CanvasCellSim',
|
'download' => 'https://github.com/Mikescher/CanvasCellSim',
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
||||||
|
[
|
||||||
|
'name' => './dops - better docker ps',
|
||||||
|
'internal_name' => 'dops',
|
||||||
|
'internal_name_alt' => null,
|
||||||
|
'category' => 'Commandline',
|
||||||
|
'stars' => 3,
|
||||||
|
'ui_language' => 'English',
|
||||||
|
'prog_language' => 'Go',
|
||||||
|
'short_description' => 'A replacement for the default docker-ps that tries to fit into the width of the terminal.',
|
||||||
|
'add_date' => '2922-10-15',
|
||||||
|
'license' => 'MIT',
|
||||||
|
'urls' =>
|
||||||
|
[
|
||||||
|
'github' => 'https://github.com/Mikescher/better-docker-ps',
|
||||||
|
'download' => 'https://github.com/Mikescher/better-docker-ps/releases',
|
||||||
|
],
|
||||||
|
],
|
||||||
];
|
];
|
142
www/statics/programs/dops_description.md
Normal file
142
www/statics/programs/dops_description.md
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
# ./dops - better `docker ps`
|
||||||
|
A replacement for the default docker-ps that tries really hard to fit into the width of your terminal.
|
||||||
|
|
||||||
|
![](https://raw.githubusercontent.com/Mikescher/better-docker-ps/master/readme.d/main.png)
|
||||||
|
|
||||||
|
## Rationale
|
||||||
|
|
||||||
|
By default, my `docker ps` output is really wide and every line wraps around into three.
|
||||||
|
This (obviously) breaks the tabular display and makes everything chaotic.
|
||||||
|
*(This is becomes really extreme if one container has multiple port mappings, and they are all displayed in a single row)*
|
||||||
|
It does not look like we will get a better output in the foreseeable future (see [moby#7477](https://github.com/moby/moby/issues/7477)), so I decided to make my own drop-in replacement.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- All normal commandline flags/options from docker-ps work *(almost)* the same.
|
||||||
|
- Write multi-value data (like multiple port mappings, multiple networks, etc.) into multiple lines instead of concatenating them.
|
||||||
|
- Add color to the STATE and STATUS column (green / yellow / red).
|
||||||
|
- Automatically remove columns in the output until it fits in the current terminal width.
|
||||||
|
|
||||||
|
|
||||||
|
More Changes from default docker-ps:
|
||||||
|
- Show (by default) the container-cmd without arguments.
|
||||||
|
- Show the ImageName (by default) without the registry prefix, and split ImageName and ImageTag into two columns.
|
||||||
|
- Added the columns IP and NETWORK to the default column set (if they fit)
|
||||||
|
- Added support for a few new columns (via --format):
|
||||||
|
`{{.ImageName}`, `{{.ImageTag}`, `{{.Tag}`, `{{.ImageRegistry}`, `{{.Registry}`, `{{.ShortCommand}`, `{{.LabelKeys}`, `{{.IP}`
|
||||||
|
- Added options to control the color-output, the used socket, the time-zone and time-format, etc (see `./dops --help`)
|
||||||
|
|
||||||
|
## Getting started
|
||||||
|
|
||||||
|
- Download the latest binary from the [releases page](https://github.com/Mikescher/better-docker-ps/releases)
|
||||||
|
- but it into yout PATH (eg /usr/local/bin)
|
||||||
|
- (optional) alias the docker ps command (see [section below](#usage-as-drop-in-replacement))
|
||||||
|
|
||||||
|
## Screenshots
|
||||||
|
|
||||||
|
![](https://raw.githubusercontent.com/Mikescher/better-docker-ps/master/readme.d/fullsize.png)
|
||||||
|
All (default) columns visible
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
![](https://raw.githubusercontent.com/Mikescher/better-docker-ps/master/readme.d/default.png)
|
||||||
|
Output on a medium sized terminal
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
![](https://raw.githubusercontent.com/Mikescher/better-docker-ps/master/readme.d/small.png)
|
||||||
|
Output on a small terminal
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Usage as drop-in replacement
|
||||||
|
|
||||||
|
You can fully replace docker ps by creating a shell function in your `.bashrc` / `.zshrc`...
|
||||||
|
|
||||||
|
~~~sh
|
||||||
|
docker() {
|
||||||
|
case $1 in
|
||||||
|
ps)
|
||||||
|
shift
|
||||||
|
command dops "$@"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
command docker "$@";;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
~~~
|
||||||
|
|
||||||
|
This will alias every call to `docker ps ...` with `dops ...` (be sure to have the dops binary in your PATH).
|
||||||
|
|
||||||
|
If you are using the fish-shell you have to create a (similar) function:
|
||||||
|
|
||||||
|
~~~fish
|
||||||
|
function docker
|
||||||
|
if test -n "$argv[1]"
|
||||||
|
switch $argv[1]
|
||||||
|
case ps
|
||||||
|
dops $argv[2..-1]
|
||||||
|
case '*'
|
||||||
|
command docker $argv[1..-1]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
~~~
|
||||||
|
|
||||||
|
## Manual
|
||||||
|
|
||||||
|
Output of `./dops --help`:
|
||||||
|
|
||||||
|
~~~~~~
|
||||||
|
better-docker-ps
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
dops [OPTIONS] List docker container
|
||||||
|
|
||||||
|
Options (default):
|
||||||
|
-h, --help Show this screen.
|
||||||
|
--version Show version.
|
||||||
|
--all , -a Show all containers (default shows just running)
|
||||||
|
--filter <ftr>, -f <ftr> Filter output based on conditions provided
|
||||||
|
--format <fmt> Pretty-print containers using a Go template
|
||||||
|
--last , -n Show n last created containers (includes all states)
|
||||||
|
--latest , -l Show the latest created container (includes all states)
|
||||||
|
--no-trunc Don't truncate output
|
||||||
|
--quiet , -q Only display container IDs
|
||||||
|
--size , -s Display total file sizes
|
||||||
|
|
||||||
|
Options (extra | do not exist in `docker ps`):
|
||||||
|
--silent Do not print any output
|
||||||
|
--timezone Specify the timezone for date outputs
|
||||||
|
--color <true|false> Enable/Disable terminal color output
|
||||||
|
--no-color Disable terminal color output
|
||||||
|
--socket <filepath> Specify the docker socket location (Default: /var/run/docker.sock)
|
||||||
|
--timeformat <go-time-fmt> Specify the datetime output format (golang syntax)
|
||||||
|
--no-header Do not print the table header
|
||||||
|
--simple-header Do not print the lines under the header
|
||||||
|
--format <fmt> You can specify multiple formats and the first one that fits your terminal widt will be used
|
||||||
|
|
||||||
|
Available --format keys (default):
|
||||||
|
{{.ID}} Container ID
|
||||||
|
{{.Image}} Image ID
|
||||||
|
{{.Command}} Quoted command
|
||||||
|
{{.CreatedAt}} Time when the container was created.
|
||||||
|
{{.RunningFor}} Elapsed time since the container was started.
|
||||||
|
{{.Ports}} Exposed ports.
|
||||||
|
{{.State}} Container status
|
||||||
|
{{.Status}} Container status with details
|
||||||
|
{{.Size}} Container disk size.
|
||||||
|
{{.Names}} Container names.
|
||||||
|
{{.Labels}} All labels assigned to the container.
|
||||||
|
{{.Label}} [!] Unsupported
|
||||||
|
{{.Mounts}} Names of the volumes mounted in this container.
|
||||||
|
{{.Networks}} Names of the networks attached to this container.
|
||||||
|
|
||||||
|
Available --format keys (extra | do not exist in `docker ps`):
|
||||||
|
{{.ImageName}} Image ID (without tag and registry)
|
||||||
|
{{.ImageTag}}, {{.Tag}} Image Tag
|
||||||
|
{{.ImageRegistry}}, {{.Registry}} Image Registry
|
||||||
|
{{.ShortCommand}} Command without arguments
|
||||||
|
{{.LabelKeys}} All labels assigned to the container (keys only)
|
||||||
|
{{.IP}} Internal IP Address
|
||||||
|
~~~~~~
|
Loading…
Reference in New Issue
Block a user