Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docker documentation #251

Closed
takanokage opened this issue Mar 27, 2018 · 2 comments
Closed

docker documentation #251

takanokage opened this issue Mar 27, 2018 · 2 comments

Comments

@takanokage
Copy link
Contributor

Add documentation for the dockerized Open3D.

@qianyizh
Copy link
Collaborator

Part of #17

@takanokage
Copy link
Contributor Author

takanokage commented Mar 29, 2018

I would like to keep this open. True, this is related to #17 however this will be an independent pull request. Or we let this closed and postpone the pull request for #17 until after I implement this as well.

Personally I prefer lots of smaller pull requests. I know this requires a lot of effort from the people reviewing (+ time spent with the build tasks). However packing lots of small things in a single big pull request has disadvantages as well for example makes it harder to reach a stopping point and personally I feel less agile. I'm open to discuss how we can improve the process.

takanokage added a commit to takanokage/Open3D that referenced this issue Mar 30, 2018
syncle pushed a commit that referenced this issue Apr 12, 2018
* issues #17. first draft of docker files.

* added simpler ways to stop or bash into the container.

* test the push process with 2-factor auth.

* test 2-way auth with credentials cache.

* ratpoison back. clone Open3D.

* install Open3D dependencies and build.

* simple way of deleting the image. won't force the delete if there are child containers running.

* added more dependencies for the python side of things. python3-tk seems to be necessary but wasn't mentioned before in the docs.

* issue #17. builds the headleass_rendering branch by Jaesik.

* added new line at the end of each script. makes it easy to read with cat.

* no upgrade. proper apt-get install pattern. no locales - use defaults. no cd - use WORKDIR. it.sh is just an interactive run.

* stop after 0s. default 10s.

* moved the CMD specifics to entrypoint.sh.

* successfully start both xvfb and ratpoison.
attach.sh will attach to a running container.
test.sh is used to investigate the segmentation fault when running OpenGL apps inside the container.
.xinitrc starts ratpoison. xvfb is started by x11vnc. I can start xvfb and have x11vnc reuse that display and screen however ratpoison doesn't start automatically anymore...
Dockerfile example of using an NVIDIA docker image with driver, CUDA toolkit and cuDNN.
run.sh example of running a container using nvidia-docker.

* cleanup.
test.sh can be run without python3.
attach.sh will run the container first.
bash.sh will run the container first. bash.sh and attach.sh are the identical.
build.sh will first stop a running container.
run.sh will first stop a running container.

* debug. Open3D builds and runs (as much as before) with fewer dependencies.

* cleaned up nvidia.
cleaned up test.py - no more debug prints.
added faulthandler to test.py to display the error line.
installed debug tools gdb and python3.5-dbg.

* debug build.
clone the original repo. turns out a lot more things are working than when using the headless_rendering branch.
Tutorial/Advanced/test.py is looking for a display. what if it finds a display, will it just work from a docker terminal?

* cleanup. removed the code for headless_rendering branch approach.

* included debug dependencies in the main install section.
replaced ratpoison with lxde. works fine with exceptions: lxterminal doesn't start, display size smaller than Open3D tutorial windows, etc.

* deleted because it's identical to attach.sh.

* remove unused containers/images.

* move setup files to Open3D/docker/setup.

* moved docker utilities under Open3D/docker/ubuntu-xvfb/tools.

* fix building by specifying the path to the Dockerfile.

* moved docker inside new folder utilities.

* #17. these changes allow running headless inside the host terminal without the need to vnc into the docker container.

* renamed test.sh/py to headless_sample.sh/py.

* stop before perfoming most actions.

* headless rendering works with preinstalled dependencies.

* #17. #254. Successfully applied the bind mounting pattern to enable file transfers and code sharing between the container and the host.

* added back the ubuntu dependencies.
install only python3 dependencies.

* removed proxy settings.

* renamed utilities/ -> util/.

* removed '5.'

* #17. #251. First draft of headless rendering documentation.

* polished the sections called:
- Docker installation
- Optional steps

* it.sh is basically run.sh but with '-it' instead of '-d'.
'-d' will detach the container from the host terminal.
'-it' will keep the container attached to the host terminal and will display the stdout of the container.

* added 'Usage notes'. needs polishing.

* refine various sections of the documentation.

* more polishing

* renamed ubuntu-xvfb to open3d-xvfb.

* container name changed to open3d-xvfb.
the name can be specified only once in name.sh.
set the container hostname to be the same as the container name.

* removed custom proxy settings. these settings to be modified as needed.

* renamed 'headless_rendering.rst' to 'docker.rst' in order to make room for the glfw3.3 based headless merge.

* renamed docs entries to 'docker' from 'headless_rendering'.

* removed the build command as it won't work after 'run -it'. build manually after remoting into the container.

* polished the documentation. build the Open3D code using the code from External rather than the native dependencies.

* reduced Docker image in half by using the '--no-install-recommends' flag.

* docker image size was reduced to ~1GB.

* use the warning tag to highlight security recommendation.

* remove duplicate. one copy already committed to Tutorial/Advanced.

* renamed headless_sample.sh to docker_sample.sh.

* removed duplicate headless_sample.py. copy the docker_sample.sh.

* removing some spaces.

* removed references to headless.

* removed unnecessary file.
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants