使用 boot2docker 设置 IPython 开发环境#
注意
这是从旧 IPython wiki 中逐字复制的,目前正在开发中。开发指南的这一部分中的许多信息已过时。
以下是如何启动并运行 IPython 开发环境的说明,而无需在主机上安装任何内容,除了 `boot2docker
<boot2docker/boot2docker>`__ 和 `docker
<https://www.docker.net.cn/>`__。
安装 boot2docker
#
安装 boot2docker。有多种安装方法,具体取决于你的环境。请参阅 boot2docker 文档。
Mac OS X#
在安装了 Homebrew 的 Mac OS X 主机上
$ brew install boot2docker docker
初始化 boot2docker
VM#
$ boot2docker init
启动 VM#
$ boot2docker up
boot2docker
CLI 与 boot2docker
VM 上的 docker 守护进程通信。为此,我们必须设置一些环境变量,例如 DOCKER_HOST
,
$ $(boot2docker shellinit)
要查看 VM 的 IP 地址
$ boot2docker ip
192.168.59.103
从开发分支安装 ipython
#
$ git clone --recursive https://github.com/ipython/ipython.git
构建 Docker 镜像#
使用克隆的 ipython
目录中的 Dockerfile 来构建 Docker 镜像。
$ cd ipython
$ docker build --rm -t ipython .
运行 Docker 容器#
使用新镜像运行容器。我们将主机上的整个 ipython
源代码树挂载到容器中的 /srv/ipython
中,以使我们在主机上对源代码所做的更改立即反映到容器中。
# 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
要在主机上的另一个 shell 中列出正在运行的容器
$ $(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
以可编辑模式安装 IPython#
进入容器后,你需要卸载 ipython
包,并以可编辑模式重新安装,以使你的开发更改反映到你的环境中。
container $ pip uninstall ipython
# pip install ipython in editable mode
container $ cd /srv
container $ ls
ipython
container $ pip install -e ipython
运行 Notebook 服务器#
container $ ipython notebook --no-browser --ip=*
访问 Notebook 服务器#
如果你忘记了,在你的主机上运行以下命令以获取 boot2docker VM 的 IP
# on host
$ boot2docker ip
192.168.59.103
然后在你的浏览器中访问它
# browser
http://192.168.59.103:8888
作为 Mac 上的快捷方式,你可以在终端窗口中运行以下命令(或将其设为 bash 别名)
$ open http://$(boot2docker ip 2>/dev/null):8888