Dev: boot2docker
Pages 142
- Home
- A gallery of interesting IPython Notebooks
- A gallery of interesting Jupyter and IPython Notebooks
- Code blocks and other ideas
- Cookbook: Branding the IPython notebook
- Cookbook: Connecting to a remote kernel via ssh
- Cookbook: Dated logging
- Cookbook: deploying ipython
- Cookbook: Dynamic prompt
- Cookbook: Hotkeys for faster notebook editing
- Cookbook: Ignoring some commands in history
- Cookbook: Index
- Cookbook: IPython and Emacs
- Cookbook: IPython and Python.NET
- Cookbook: Job control extension
- Cookbook: Launching IPython on OSX
- Cookbook: Macro arguments
- Cookbook: nbconvert templates
- Cookbook: Notebook utilities
- Cookbook: Running a file in the background
- Cookbook: Running screen
- Cookbook: Sending built in help to the pager
- Cookbook: Shadow history
- Cookbook: Standalone executable zip
- Cookbook: Storing aliases
- Cookbook: Styling Notebook
- Cookbook: Styling the QtConsole
- Cookbook: Updating code for use with IPython 0.11 and later
- Cookbook: Using IPython with Console2
- Cookbook: Using IPython with TextMate
- Dev: boot2docker
- Dev: Closing pull requests
- Dev: Coding style
- Dev: Compiling .LESS files
- Dev: Documenting IPython
- Dev: Extending the Messaging Protocol
- Dev: GitHub workflow
- Dev: Index
- Dev: IPython Sphinx directive
- Dev: Javascript Events
- Dev: Lab meetings on Air
- Dev: Meeting notes, February 6, 2013
- Dev: Meeting notes, January 6, 2013
- Dev: Meeting, January 2014
- Dev: Meeting, July 2013
- Dev: Meeting, September 2014
- Dev: Py3compat module
- Dev: PyData 2012 HackNight
- Dev: Releasing IPython
- Dev: Testing
- Dev: Testing kernels against message specification
- Dev: The perfect pull request
- Dev: URL mapping of IPython notebook
- Dev: Windows Sophos issues
- Dev:Codenames
- Extensions Index
- Fix the boot manager after install ubuntu with windows 8
- Frequently asked questions
- Install: Docker
- Install: Index
- Install: Mobile
- Install: Python 3
- IPEP 0: IPEP Template
- IPEP 10: kernel side filtering of display formats
- IPEP 11: Tab Completion System Refactor
- IPEP 12: Splitting KernelManager and KernelClient
- IPEP 13: Updating the Message Spec
- IPEP 14: Notebook Regression Tests
- IPEP 15: Autosaving the IPython Notebook
- IPEP 16: Notebook multi directory dashboard and URL mapping
- IPEP 17: Notebook Format 4
- IPEP 18: Text Editor for the Notebook
- IPEP 19: concurrent.futures (PEP 3148) for IPython.parallel
- IPEP 1: Cleanup and extension of the Magic system in IPython
- IPEP 20: Informal structure of cell metadata
- IPEP 21: Widget Messages
- IPEP 22: Notebook, new cell type "Comment"
- IPEP 23: Backbone.js Widgets
- IPEP 24: completion and object_info
- IPEP 25: Registry of installed kernels
- IPEP 26: Full Featured python js object bridge
- IPEP 27: Contents Service
- IPEP 28: Interleaving Widgets and Output
- IPEP 29: Project Governance
- IPEP 2: Input transformations
- IPEP 3: Multiuser support in the notebook
- IPEP 4: Python 3 Compatibility
- IPEP 5: Notebook JavaScript organization
- IPEP 6: Qt console additional pane
- IPEP 7: Subclients for the Notebook
- IPEP 8: Custom messages and message handlers
- IPEP 9: Slideshow from the notebook
- IPEPs: IPython Enhancement Proposals
- IPython 3.0 comm and widget migration document
- IPython kernels for other languages
- Lets talk Python
- News Categorization using Multinomial Naive Bayes
- Projects using IPython
- Projects using IPython: PyMAD
- Research at UC Berkeley using IPython
- Roadmap: IPython
- Roadmap: NBviewer
- ShowMeDo
- Sprints: PyCon2012
- Sprints: SciPy2012
- Sprints: SciPy2014
- Sprints: SciPy2014 Py3 BoF
- Sprints: SciPy2014 sprint ideas
- Syntax for code blocks
- Trash: 0.11 Migration
- Trash: Cookbook Adding support for ipipe
- Trash: Cookbook Custom completers
- Trash: Cookbook Custom magic commands
- Trash: Cookbook Custom magic examples
- Trash: Cookbook Defining prompts via hooks
- Trash: Cookbook envpersist
- Trash: Cookbook GVim integration
- Trash: Cookbook Integrate with any loop(panda3d example)
- Trash: Cookbook Interrupting threads
- Trash: Cookbook ipy_exportdb
- Trash: Cookbook ipy_render
- Trash: Cookbook Leo IPython Bridge
- Trash: Cookbook Logging
- Trash: Cookbook Moving config to IPython 0.11
- Trash: Cookbook Saving the session on exit
- Trash: Cookbook String list processing
- Trash: Cookbook The sh profile
- Trash: Cookbook User config file
- Trash: EuroSciPy2011
- Trash: IpyKit
- Trash: IPython:About
- Trash: Main Page
- Trash: Main Page PyCon12Sprint
- Trash: Old Embedding GTK
- Trash: Old Embedding Tkinter
- Trash: Parallel Computing
- Trash: Potential projects
- Trash: Py4Science
- Trash: Scratchpad
- Trash: Scratchpad Persistence
- Trash: Using ipipe
- Widgets
- Show 127 more pages…
Clone this wiki locally
boot2docker
The following are instructions on how to get an IPython development environment up and running without having to install anything on your host machine, other than boot2docker and docker.
Install boot2docker
Install boot2docker. There are multiple ways to install, depending on your environment. See the boot2docker docs.
Mac OS X
On a Mac OS X host with Homebrew installed:
$ brew install boot2docker docker
Initialize boot2docker VM
$ boot2docker init
Start VM
$ boot2docker up
The boot2docker CLI communicates with the docker daemon on the boot2docker VM. To do this, we must set some environment variables, e.g. DOCKER_HOST,
$ $(boot2docker shellinit)
To view the IP address of the VM:
$ boot2docker ip
192.168.59.103
Install ipython from Development Branch
$ git clone --recursive https://github.com/ipython/ipython.git
Build Docker Image
Use the Dockerfile in the cloned ipython directory to build a Docker image.
$ cd ipython
$ docker build --rm -t ipython .
Run Docker Container
Run a container using the new image. We mount the entire ipython source tree on the host into the container at /srv/ipython to enable changes we make to the source on the host immediately reflected in the container.
# change to the root of the git clone
$ cd ipython
$ docker run -it --rm -p 8888:8888 --workdir /srv/ipython --name ipython-dev -v `pwd`:/srv/ipython ipython /bin/bash
To list the running container from another shell on the host:
$ $(boot2docker shellinit)
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f6065f206519 ipython "/bin/bash" 1 minutes ago Up 1 minutes 0.0.0.0:8888->8888/tcp ipython-dev
Install IPython in Editable Mode
Once in the container, you'll need to uninstall the ipython package and re-install in editable mode to enable your dev changes to be reflected in your environment.
container $ pip uninstall ipython
# pip install ipython in editable mode
container $ cd /srv
container $ ls
ipython
container $ pip install -e ipython
Run Notebook Server
container $ ipython notebook --no-browser --ip=*
Visit Notebook Server
On your host, run the following command to get the IP of the boot2docker VM if you forgot:
# on host
$ boot2docker ip
192.168.59.103
Then visit it in your browser:
# browser
http://192.168.59.103:8888
As a shortcut on a Mac, you can run the following in a terminal window (or make it a bash alias):
$ open http://$(boot2docker ip 2>/dev/null):8888