Giter Site home page Giter Site logo

qfdk / easydockerweb Goto Github PK

View Code? Open in Web Editor NEW
403.0 10.0 118.0 2.28 MB

A simple Web Ui for Docker using xterm.js, Node.js, dockerode and Socket.io

Home Page: https://ko-fi.com/qfdko

License: GNU General Public License v3.0

JavaScript 45.67% CSS 7.40% HTML 46.44% Dockerfile 0.49%
docker webconsole terminal portainer socket react webui docker-admin

easydockerweb's Introduction

EasyDockerWeb

A simple Web Ui for Docker using xterm.js, Node.js and Socket.io.

With this solution you will be able to create your owner SAS service.

  • If you need to use docker cluster, https://portainer.io/ may be a good choice.
  • search image by name
  • terminal
  • log

Quick start

Set EDW_USERNAME and EDW_PASSWORD to overwrite the default username and password.

PS: Default username and password are admin/admin.

docker run -it -d -p 3000:3000 -e EDW_USERNAME='admin' -e EDW_PASSWORD='admin' -v /var/run/docker.sock:/var/run/docker.sock qfdk/easydockerweb

http://localhost:3000 enjoy ;)

Requirement

  • Node.js
  • Docker remote api >= v1.24
  • macOS or Linux or windows

Development mode

git clone https://github.com/qfdk/EasyDockerWeb.git
cd EasyDockerWeb
yarn
yarn start

Build your owner docker image

git clone https://github.com/qfdk/EasyDockerWeb.git
cd EasyDockerWeb
docker build -t easy-docker-web .
docker run -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock easy-docker-web

中文

简单的 docker 管理程序,使用了express socket.io 来实现前后端通讯.

Images

login

overview

terminal

newContainer

containers

images

pull

pull2

Sponsor

JetBrains

React.js web ui (removed)

cd web-ui
yarn
yarn start

http://localhost:4000

easydockerweb's People

Contributors

dependabot[bot] avatar grosa1 avatar if1y avatar liady avatar qfdk avatar valerianpereira avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

easydockerweb's Issues

建议后台增加密码登录

首先非常感谢这个项目,真的非常好用。

我的使用场景在外网的vps上面,所以没密码登录是非常不安全的。

可以使用简单的HTTPAUTH,总比没有强很多。

希望可以采纳,谢谢!

Add a case for pulling an incorrect image

Hi,

I like your Docker UI tool and I gave it a try. I found some space of improvement. I tried to pull an image which does not exist actually and now the page is stuck on waiting. After a while, the server got killed. I think that we should manage to handle pulling the wrong image.

【ReferenceError: done is not defined】

I pull EasyDockerWeb from docker.io/qfdk/easydockerweb

docker pull qfdk/easydockerweb

then RUN IT

 docker run -it -d -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock qfdk/easydockerweb

Everything is fine, until I Pull image

It Exited

logs:

docker logs EasyDockerWeb

Listening on port 3000
/src/routes/images.js:63
          if (err) return done(err);
                   ^

ReferenceError: done is not defined
    at onFinished (/src/routes/images.js:63:20)
    at onStreamError (/src/node_modules/docker-modem/lib/modem.js:338:5)
    at Stream.onStreamEvent (/src/node_modules/docker-modem/lib/modem.js:326:14)
    at Stream.emit (events.js:180:13)
    at drain (/src/node_modules/through/index.js:36:16)
    at Stream.stream.queue.stream.push (/src/node_modules/through/index.js:45:5)
    at Parser.parser.onToken (/src/node_modules/JSONStream/index.js:130:18)
    at Parser.proto.write (/src/node_modules/jsonparse/jsonparse.js:135:34)
    at Stream.<anonymous> (/src/node_modules/JSONStream/index.js:21:12)
    at Stream.stream.write (/src/node_modules/through/index.js:26:11)

SyntaxError: Unexpected identifier 'include'

Hi,

Pushed qfdk/easydockerweb and got this error:

SyntaxError: Unexpected identifier 'include' in /src/views/error.html while compiling ejs

If the above error is not helpful, you may want to try EJS-Lint:
https://github.com/RyanZim/EJS-Lint
Or, if you meant to create an async function, pass `async: true` as an option.
    at new Function (<anonymous>)
    at Template.compile (/src/node_modules/ejs/lib/ejs.js:673:12)
    at Object.compile (/src/node_modules/ejs/lib/ejs.js:398:16)
    at handleCache (/src/node_modules/ejs/lib/ejs.js:235:18)
    at tryHandleCache (/src/node_modules/ejs/lib/ejs.js:274:16)
    at exports.renderFile [as engine] (/src/node_modules/ejs/lib/ejs.js:491:10)
    at View.render (/src/node_modules/express/lib/view.js:135:8)
    at tryRender (/src/node_modules/express/lib/application.js:657:10)
    at Function.render (/src/node_modules/express/lib/application.js:609:3)
    at ServerResponse.render (/src/node_modules/express/lib/response.js:1039:7)

Thanks

容器内执行 exit 命令,容器挂掉

你好,你做的docker web特别好用,有一点出现了一点问题,在容器内执行exit退出命令的时候,EasyDockerweb容器会挂掉。有什么解决方案吗?忘修复,谢谢。

希望添加以下功能 内存前十和 CPU前十

查询内存占用率,并以高到低排序
docker stats --no-stream --format "{{.Container}} \t {{.MemPerc}} \t {{.CPUPerc }}"|sort -rn -k 2
查询CPU占用率,并以高到低排序
docker stats --no-stream --format "{{.Container}} \t {{.MemPerc}} \t {{.CPUPerc }}"|sort -rn -k 3

功能建议。

我很喜欢你开发的这个UI,不过在创建容器的那个界面,不是很合理。
koolshare制作的lede能够运行docker,他在创建容器的时候,给用户的自由度比较大。

只有三个选项:1、容器名称。2、容器是否需要开机运行。3、命令行参数。
最终合成的命令行内容是如下格式:
【docker run -d】{ --name Aria2Service} <-p 6800:6800 -p 3002:80 -p 3003:8080 -v /mnt/ssd/download:/aria2/downloads -v /mnt/ssd/Aria2NG:/aria2/conf -e SECRET=99010> {--restart=always} 【jinlife/aria2-ariang】
【】括号内的是固定生成的,{}括号内是可选填写的(就是选项1和2)<>括号内的是命令行参数(就是选项3)

可以参考这种模式制作新建容器的界面选项。感觉给人更多自由度。
当然,这只是我的一点拙见。

Question

Do you plan on maintaining this at all?

显示实时内存占用

希望添加一个功能,当前实时的内存占用率,具体数据为: 在shell里面输入 docker stats containerId 后,界面里面显示的MEM USAGE。

现在的版本有CPU实时占用率,如果加上实时MEM就很完美了。

Console Error on Alpine

rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:235: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory"

Alpine 镜像中没有 bash,改用 docker exec -it XXX /bin/sh 可以进入

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.