H2O Deep Water with Docker Container Template -> Flow UI not accesible - docker

I started the Deep Water Docker container (CPU mode) on my Mac as described in the docs (https://github.com/h2oai/deepwater/blob/master/README.md):
docker run -it --rm -p 54321:54321 -p 8080:8080 -v $PWD:/host opsh2oai/h2o-deepwater-cpu
It starts correctly and without errors, but I cannot access the H2O UI at http://172.17.0.2:54321 ...
There is also a hint in the logs:
If you have trouble connecting, try SSH tunneling from your local machine 1. Open a terminal and run 'ssh -L 55555:localhost:54321 root#172.17.0.2'
2. Point your browser to http://localhost:55555
But this is also not working...
I use Docker CE Version 17.06.0-ce-mac19.
Any ideas what to do?
Here are the complete logs of starting H2O:

When you have started the docker image you have to start H2O manually. You do that with
java -jar /opt/h2o.jar &
For more info on this, please see https://github.com/h2oai/deepwater#pre-release-docker-image
In the side note: Please post the log, I can't tell what went wrong from this. It's possible that your Nvidia driver is too old.

Related

How to connect to docker via VNC when the docker image is not made by you?

I'm trying to get started with PANDA RE, a framework developed by MIT Lincoln Lab for Reverse Engineering. Their website says that beginners should try the tool through docker first. Therefore, I pulled their image and got it to run with the command docker run -p 5900:5900 --rm pandare/panda panda-system-i386. The log says VNC server running on 127.0.0.1:5900.
However, if I use Remmina to connect via VNC, it says "VNC server closed connection."
Any tips on fixing this?
If it helps, docker container ls prints 0.0.0.0:5900->5900/tcp for this container
If you run the --help you will get
The default display is equivalent to
"-vnc localhost:0,to=99,id=default"
So, in order to get the panda to listen to 0.0.0.0 you will need to run it with
docker run -p 5900:5900 -ti --rm pandare/panda panda-system-i386 -vnc 0.0.0.0:0,to=99,id=default

Couchdb docker on WSL2: no setup possible

I was trying to have some fun with Docker and test out CouchDB.
I'm working on a Docker on Windows 10 running on WSL2.
I understood that it was easy enough to run something like:
docker run -d --name my-couchdb -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password couchdb:latest -p 5984:5984
And actually, it is running "fine."
Fine in the sense that I can see from the logs that it is running ok, with no error.
But at this point, I wanted to set it up, going to http://127.0.0.1:5984/_utils#setup or http://[::1]:5984/_utils#setup
As you can imagine, I cannot access it.
Any idea on how to troubleshoot it?
I'm no expert in docker, and it is the first time on CouchDB, so I wanted to have a quick run, but I'm already stuck.
Thanks,
Ro
As per documentation here https://docs.docker.com/engine/reference/commandline/run/
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
item you put after the image will be act as arguments which is not what you want here.

Docker run does not deploy

So we followed the Docker get started tutorial
(https://docs.docker.com/get-started/part2/). The build works, the command
docker run -p 4000:80 friendlyhello
works but when we go to http://localhost:4000, nothing is reached. We just followed the tutorial step by step but don't see anything.
Yes we also went to localhost:4001.
Is this perhaps something that has to do witht the message "system pool is not available on windows"?
Here's a screenshot of our docker output
Firstly talking about the issue that you've pointed out yourself, this is identified as an issue that can't be fixed for Windows.
Please try downgrading to version 1.12.x so that these warnings do not pop-up anymore. This solution is found working for most of us.
level-info msg="Unable to use system certificate pool: crypto/x509: system root pool is not available on Windows"
Coming to the main issue that you're facing, which is as follows:
Error response from daemon: driver failed programming external connectivity on endpoint objective_joliot
This says that the port 4000 is already in use on Docker VM or possibly on your system. You can either stop whatever is running on that port or change the port used in your Docker command.
To change to the external port 8080, use:
docker run -d -p 8080:80 --name objective_joliot nginx
Hope this helps!!!

Get TeamCity running on Docker

I'm brand new to both TeamCity and Docker. I'm struggling to get a Docker container with TeamCity running and usable on my local machine. I've tried several things, to no avail:
I installed Docker for Mac per instructions here. I then tried to run the following command, documented here, for setting up teamcity in docker:
docker run -it --name teamcity-server-instance \
-v c:\docker\data:/data/teamcity_server/datadir \
-v c:\docker\logs:/opt/teamcity/logs \
-p 8111:8111 \
jetbrains/teamcity-server
That returned the following error: docker: Error response from daemon: Invalid bind mount spec "c:dockerdata:/data/teamcity_server/datadir": invalid mode: /data/teamcity_server/datadir.
Taking a different tack, I tried to follow the instructions here - I tried running the following command:
docker run -it --name teamcity -p 8111:8111 sjoerdmulder/teamcity
The terminal indicated that it was starting up a web server, but I can't browse to it at localhost, nor at localhost:8111 (error ERR_SOCKET_NOT_CONNECTED without the port, and ERR_CONNECTION_REFUSED with the port).
Since the website with the docker run command says to install Docker via Docker Toolbox, I then installed that at the location they pointed to (here). I then tried the
docker-machine ip default
command they suggested, but it didn't work, error "Host does not exist: "default"". That makes sense, since the website said the "default" vm would be created by running Docker Quickstart and I didn't do that, but they don't provide any link to Docker Quickstart, so I don't know what they are talking about.
To try to get the IP address the container was running on, I tried this command
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
That listed the names of the running containers, each followed by a hyphen, then nothing. I also tried
docker ps -a
That listed running contaners also, but didn't give the IP. Also, the port is blank, and the status says "exited (130) 4 minutes ago", so it doesn't seem like the container stayed alive after starting.
I also tried again with port 80, hoping that would make the site show at localhost:
docker run -it --name teamcity2 -p 80:80 sjoerdmulder/teamcity
So at this point, I'm completely puzzled and blocked - I can't start the server at all following the instructions on hub.docker.com, and I can't figure out how to browse to the site that does start up with the other instructions.
I'll be very grateful for any assistance!
JetBrains now provides official docker images for TeamCity. I would recommend starting with those.
The example command in their TeamCity server image looks like this
docker run -it --name teamcity-server-instance \
-v <path to data directory>:/data/teamcity_server/datadir \
-v <path to logs directory>:/opt/teamcity/logs \
-p <port on host>:8111 \
jetbrains/teamcity-server
That looks a lot like your first attempt. However, c:\docker\data is a Windows file path. You said you're running this on a mac, so that's definitely not going to work.
Once TeamCity starts, it should be available on port 8111. That's what -p 8111:8111 part of the command does. It maps port 8111 on your machine to port 8111 in the VM Docker for Mac creates to run your containers. ERR_CONNECTION_REFUSED could be caused by several things. Two most likely possibilities are
TeamCity could take a little while to start up and maybe you didn't give it enough time. Solution is to wait.
-it would start the TeamCity container in interactive mode. If you exit out of the terminal window where you ran the command, the container will also probably terminate and will be inaccessible. Solution is to not close the window or run the container in detached mode.
There is a good overview of the differences between Docker for Mac and Docker Toolbox here: Docker for Mac vs. Docker Toolbox. You don't need both, and for most cases you'll want to use Docker for Mac for testing stuff out locally.

Logs of a docker container

Where does docker store it logs in the host machine as well as in the docker container. I know you can use docker logs . I want to know what is the physical location. Here is any example to illustrate more. I have got a java application which is generating standard output logs. I am using the following script to run it on a docker container
#!/bin/bash
nohup java -jar /opt/pubsub/publish.jar &
java -jar /opt/pubsub/subscribe.jar
I am unable to find my nohup in the container however I can see the content of nohup using docker logs . So where is my nohup??
Secondly where are the logs which are generated by docker itself?
They are stored in /var/lib/docker/containers
You can try docker-ci, it offers a solution to logging. It will watch the logs and send it to the client.
I hope this will help you.
http://docker-ci.org/documentation#remote-logging

Resources