Jump to content
gfjardim

[OUTDATED] Extended Docker configuration page

636 posts in this topic Last Reply

Recommended Posts

[glow=red,2,300]ATTENTION:[/glow]

 

This topic is outdated. This plugin has been integrated into Dynamix WebGui and won't be updated or supported by itself.

 

-----------

 

Many of us got excited by the arrival of Docker to unRAID, but the configuration page is somewhat laconic. So I tweaked it a little bit to let it display information about your running containers and existing images on our systems, and not only that: now we can start/stop containers, remove containers and images, view logs and ADD CONTAINERS via the web page.

 

Icon view:

 

dFCksi9.png

 

Banner view:

 

G9CkKUB.png

 

List view:

 

nLawcp0.png

 

Add container:

 

TcpT6v2.png

 

 

[shadow=red,left]INSTALL:[/shadow]

 

This plugin is part of unRAID core since version 6.0 beta 8. If you want to get the latest bugfixes and try the latest version, you can install this PLG in Extensions/Install Extension:

 

https://raw.githubusercontent.com/limetech/dockerMan/master/dockerMan.plg

 

Bug fixes and improvements can be made using this GitHub repo.

 

Please enjoy!

 

 

[glow=red,2,300]TEMPLATE REPO:[/glow]

 

If you want to take advantage of template repositories, you can use mine:

 

https://github.com/gfjardim/docker-containers/tree/templates

 

Just insert the URL in the field shown below:

 

HGRnxYg.png

 

 

[glow=red,2,300]DONATIONS: [/glow]

 

- The goal was buy a license of Sublime Text and some of it's plugins. This has been archived by the generous donations of (in order of donations):

 

StevenD

nacat78

Chris B.

JM2005

ljm42

dalben

Troy O.

bkastner

 

[glow=red,2,300]CHANGELOG:[/glow]

 

Version 2014.08.08:

- Add: some templates (courtesy of smdion):

- H5AI;

- HTPC-Manager;

- Maraschino;

- Reverse-Proxy;

- UpsBoard.

 

VERSION 2014.08.04:

- Fix: errors were presented in the main page while Docker stops;

- Fix: error with updates - old images remained as <none>:<none>;

- Add: auto update mode: the reload button now auto updates the plugin;

 

VERSION 2014.08.03-6:

- Remove the daemonization of DockerUpdate; will update once on plugin install/reinstall/reboot. Why hammer the Registry server?

- Add a update reload button on the interface.

- Update the XBMCServer template to use bridge mode as default. Change this to host if you use UPNP server.

 

Version 2014.08.03:

-Detect updates:

Now, this plugin will search the Docker Registry for new image builds. The data is collected by a daemon named "DockerUpdate" every 30 minutes in the background. To synchronize versions, you will have to update once each container. After that, you will see the Update status change from N/A to Updated. Now, everytime a new built is available, the plugin will show in green "Update".

 

-Bugfixes

  CreateDocker.php

    1) change mkdir mode to 777

    2) avoid the creation of empty fields in the xml

  Dockers.page

    1) Fix some weirdness with jQuery Ui not updating popup titles

    2) Show image tag in the Image Remove popup title

 

Version 2014.07.28:

- Add Transmission template

 

Version 2014.07.27

- Add pyLoad template

 

Version 2014.07.25:

- Add a NzbDrone template;

- Fix the Deluge template (port 58846 was not mapped).

 

Version 2014.07.19:

- Fix update’s popup height;

- Add Dropbox template.

 

Version 2014.07.15:

- Add AirVideoServer template.

 

Version 2014.07.10-1:

- More two templates: plexWatch and XBMCServer;

- User templates moved back to the top;

- Fixed a bug about folders not being created properly.

 

Version 2014.07.10:

- Added SickRage, Deluge and NZBGet templates;

- TCP/UDP port protocols are now set by a select box, so are the Read/Write | Read Only modes for volume mappings (NAS suggestion);

- Fixed (I hope) an issue discovered by nacat78;

- Added and/or improved some descriptions with directions to help users setup correctly their fields (bjp999 suggestion);

- Now the default directory for the configuration volume of each container is /mnt/user/appdata/{container name} (suggested by NAS);

Share this post


Link to post

Thanks for this :)

 

One cosmetic issue. I have a custom plex Dockerfile which gets started like so:

 

docker run -d \
    --name="plex" \
    -v /etc/localtime:/etc/localtime:ro \
    -v /mnt/cache/appdata/plex:/config \
    -v /mnt/user:/data \
    -p 1900:1900/udp \
    -p 15353:5353/udp \
    -p 32400:32400 \
    -p 32410:32410/udp \
    -p 32412:32412/udp \
    -p 32413:32413/udp \
    -p 32414:32414/udp \
    -p 32469:32469 \
    plex

 

Under the name column I get this:

0:15353->5353/udp, 0.0.0.0:32400->32400/tcp, 0.0.0.0:32410->32410/udp, 0.0.0.0:32412->32412/udp, 0.0.0.0:32413->32413/udp, 0.0.0.0:32414->32414/udp, 0.0.0.0:32469->32469/tcp plex

 

The other containers show just the --name= value.

Share this post


Link to post

Thanks for this :)

 

One cosmetic issue. I have a custom plex Dockerfile which gets started like so:

 

docker run -d \
    --name="plex" \
    -v /etc/localtime:/etc/localtime:ro \
    -v /mnt/cache/appdata/plex:/config \
    -v /mnt/user:/data \
    -p 1900:1900/udp \
    -p 15353:5353/udp \
    -p 32400:32400 \
    -p 32410:32410/udp \
    -p 32412:32412/udp \
    -p 32413:32413/udp \
    -p 32414:32414/udp \
    -p 32469:32469 \
    plex

 

Under the name column I get this:

0:15353->5353/udp, 0.0.0.0:32400->32400/tcp, 0.0.0.0:32410->32410/udp, 0.0.0.0:32412->32412/udp, 0.0.0.0:32413->32413/udp, 0.0.0.0:32414->32414/udp, 0.0.0.0:32469->32469/tcp plex

 

The other containers show just the --name= value.

 

Can you attach a print screen?

 

Share this post


Link to post

Here you go.

 

Ok, I see the problem. Will have to change the information gathering because too many ports will break the output from "docker ps".

Share this post


Link to post

Docker Manager plugin looks great... I was finally able to see what images i had pulled from repos when experimenting - tried to clean them all up to start fresh and a lot of the ubuntu ones said command failed. Is there a way to wipe them all out so i can start fresh... also noted the on your removal confirmation screen that it said Are you shure?  Instead of Are you sure?

Share this post


Link to post

Docker Manager plugin looks great... I was finally able to see what images i had pulled from repos when experimenting - tried to clean them all up to start fresh and a lot of the ubuntu ones said command failed. Is there a way to wipe them all out so i can start fresh... also noted the on your removal confirmation screen that it said Are you shure?  Instead of Are you sure?

 

I'm brazilian, my native language is portuguese, so sorry for my typo, will fix this upon next update!

 

::)

 

For now, it only allow the removal of a single image each time.

Share this post


Link to post

Docker Manager plugin looks great... I was finally able to see what images i had pulled from repos when experimenting - tried to clean them all up to start fresh and a lot of the ubuntu ones said command failed. Is there a way to wipe them all out so i can start fresh... also noted the on your removal confirmation screen that it said Are you shure?  Instead of Are you sure?

 

I'm brazilian, my native language is portuguese, so sorry for my typo, will fix this upon next update!

 

::)

 

For now, it only allow the removal of a single image each time.

no worries, any advise on removing these containers that won't delete or remove from your manager?

 

2zyx3wz.png

Share this post


Link to post

I avoided the use of the -f (force) modifier, so it will not remove duplicate images (images with different names and same ID). Will include that in the next update.

 

Which information do you think is important on the container table? Name, ID and Ports are already included in my development script.

Share this post


Link to post

So far so good IMO, just playing around with docker for now, attempting to build some of my own containers. I used your docker manager web interface along with command line to remove the stray images that I was experimenting with - thanks again for your work on this Docker Manager plugin - looks very promising and a great start to a user friendly dockerized unRaid ...

Share this post


Link to post

Docker Manager plugin looks great... I was finally able to see what images i had pulled from repos when experimenting - tried to clean them all up to start fresh and a lot of the ubuntu ones said command failed. Is there a way to wipe them all out so i can start fresh... also noted the on your removal confirmation screen that it said Are you shure?  Instead of Are you sure?

HI

 

I had same issue

the trick is that these images that won't delete are still linked to some containers that are not deleted

so you have to use

docker ps -a
to show all the containers

then delete all the containers you don't use any more with

docker rm (id)

once you have done that delete all old containers then you can do a

docker images
and
docker rmi <hash>
to delete all old images

please do it in this order aka first delete all old containers and then the images as sometimes a images is linked to one or more containers....

 

The reason why this happens is if you start a docker with /bin/bash then when you exit the docker the docker only stops....

and we "forget" that he is still there due to docker ps only showing the active containers....

also an interrupted container will remain invisible for docker ps

 

Share this post


Link to post

Docker Manager plugin looks great... I was finally able to see what images i had pulled from repos when experimenting - tried to clean them all up to start fresh and a lot of the ubuntu ones said command failed. Is there a way to wipe them all out so i can start fresh... also noted the on your removal confirmation screen that it said Are you shure?  Instead of Are you sure?

HI

 

I had same issue

the trick is that these images that won't delete are still linked to some containers that are not deleted

so you have to use

docker ps -a
to show all the containers

then delete all the containers you don't use any more with

docker rm (id)

once you have done that delete all old containers then you can do a

docker images
and
docker rmi <hash>
to delete all old images

please do it in this order aka first delete all old containers and then the images as sometimes a images is linked to one or more containers....

 

The reason why this happens is if you start a docker with /bin/bash then when you exit the docker the docker only stops....

and we "forget" that he is still there due to docker ps only showing the active containers....

also an interrupted container will remain invisible for docker ps

 

 

Thanks secretagent, I figured that out by trial and error, but really appreciate the info and proper sequence to cleaning up the docker containers/images - got it all cleaned up, so i can attempt to make a couple of containers - are there any step by step how-to's on creating a container for an app? - I am not a linux guru by any means, but will fumble around until i get it sorted out. Really hope this docker manager will help bridge that gap in the future.

Share this post


Link to post

i would say yes, but folks need to be aware that if images are removed, that the associated container(s) need to be removed first ... according to secretagent's findings

Share this post


Link to post

Do I force or not the removal of images?  ???

 

even if you use the -f in docker rmi -f <imageid> then the image will not be deleted if there is still a container depending on it

believe me i tried many times before i found the docker ps -a flag

 

so i would say NO as it is of no use ....

might use PS -a though to show the containers....

 

but again people who have been messing with dockers might get a heart attack when they see all the leftover containers in the gui :P

Share this post


Link to post

Ok, just updated the Github. Updates via the plugin manager page.

 

Ola hombre... (my attempt to Portugese ends here :)  )

 

what is the difference between the dockerman and the startup plg ?

same thing different way of installing due to the way the url installer works ?

Share this post


Link to post

Ok, just updated the Github. Updates via the plugin manager page.

 

Ola hombre... (my attempt to Portugese ends here :)  )

 

what is the difference between the dockerman and the startup plg ?

same thing different way of installing due to the way the url installer works ?

 

Well done! Ops, that's spanish.....  ::)

 

The Docker-startup plugin was just a bunch of text files modified on runtime. This plugin has a lot more files , e.g., the jsFileTree, so I had to change the way all that was installed. Please remove the old PLG file or things can become truncated.

 

 

Share this post


Link to post

New version fixed my issue, thanks!

 

That bug forced me to rebuild all data gathering routines! Now it retrieves info directly from the Docker JSON API instead of the CLI output.

 

:o

Share this post


Link to post

That should handle any other lurking edge cases from the CLI output and be a lot more stable moving forward.

Share this post


Link to post

That should handle any other lurking edge cases from the CLI output and be a lot more stable moving forward.

 

Yes, but took some time to figure out how to treat the malformed JSON response the socket gives. I will update the plugin soon no extend this method to the images info gathering.

Share this post


Link to post

Great job! First plugin to make use of the extensions LT implemented. I do not know much about Docker still but I am running plex in one and your plugin started it straight up. Thanks!

Share this post


Link to post

Great job! First plugin to make use of the extensions LT implemented. I do not know much about Docker still but I am running plex in one and your plugin started it straight up. Thanks!

 

Glad it helped!

 

New update: insertion of variables in the docker creation GUI.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.