我使用了官方泊坞页上提到的命令。
https://hub.docker.com/r/continuumio/miniconda3/
官方指挥:
docker run -i -t -p 8888:8888 continuumio/miniconda3 /bin/bash -c "/opt/conda/bin/conda install jupyter -y --quiet && mkdir /opt/notebooks && /opt/conda/bin/jupyter notebook --notebook-dir=/opt/notebooks --ip='*' --port=8888 --no-browser"
我在容器中安装了tmp文件夹并将其用作主目录,因为由于某种原因,根分区只分配了10 GB的磁盘。
docker run -i -t -p 8888:8888 -v /tmp/:/tmp/ continuumio/miniconda3 /bin/bash -c "/opt/conda/bin/conda install jupyter -y --quiet && cd /tmp/ && /opt/conda/bin/jupyter notebook --ip='*' --port=8888 --no-browser --allow-root"
我想知道是否有更好的方法可以做到这一点。根分区的大小应与主机硬盘容量相同。
更新
我正在使用shizhz建议的Dockerfile。但如果我需要它,这里是正确的命令:
docker run -i -t -p 8888:8888 -v /tmp:/tmp continuumio/miniconda3 /bin/bash -c "/opt/conda/bin/conda install jupyter -y --quiet && cd /tmp/ && /opt/conda/bin/jupyter notebook --notebook-dir=/tmp --ip='*' --port=8888 --no-browser --allow-root"
答案 0 :(得分:1)
默认情况下,Docker会分配10G的数据,而不管主机的大小。
这个领域最近有一些发展,而docker 3.18.0拥有最好的处理方式。 docker documentation中提供了相同的详细信息。
根据文档,您必须使用以下命令序列来增加容器/图像的基本大小。
$ sudo dockerd --storage-opt dm.basesize=50G
$ sudo service docker stop
$ sudo rm -rf /var/lib/docker
$ sudo service docker start
另外,请注意,这将影响您提取/构建的所有未来图像以及您创建的未来容器。现有容器不受此命令的影响。因此,您可能需要重新创建图像并重新创建容器。
答案 1 :(得分:1)
这不是关于您的磁盘分区,但我认为您在启动shell中做了太多事情,我建议您定义自己的Dockerfile
并构建自己的映像。我使用以下Dockerfile
进行测试:
FROM continuumio/miniconda3
RUN /opt/conda/bin/conda install jupyter -y --quiet && mkdir /opt/notebooks
VOLUME /opt/notebooks
EXPOSE 8888
WORKDIR /opt/notebooks
CMD ["/opt/conda/bin/jupyter", "notebook", "--notebook-dir=/opt/notebooks", "--ip='*'", "--port=8888", "--no-browser", "--allow-root"]
然后建立自己的形象:
docker build -t jupyter .
之后您可以轻松地开始服务,如:
docker run -d -v `pwd`/notebooks:/opt/notebooks -p 8888:8888 jupyter
当然,您可以将主机上的任何目录挂载到容器内的VOLUME /opt/notebooks
。