gpt4 book ai didi

docker - 在 docker run 命令中添加配置文件

转载 作者:行者123 更新时间:2023-12-02 18:11:54 24 4
gpt4 key购买 nike

这个 docker 命令按预期工作:

docker run -i -t -p 7778: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 --allow-root"

它启动安装了 python 3 版本的 miniconda。问题是,当我访问...时,它会生成一个随 secret 码来访问 jupyter

http://somesite.com:7778

并且无法更改密码。唯一的方法是创建或更新主目录中的配置文件 jupyter_notebook_config.py (子文件夹:~/.jupyter)如何将此文件保存在主机上并使用 -v 参数挂载它?

如果我遵循以下 3 个步骤,我可以手动执行此操作:

1) 登录 ipython docker 容器

docker exec -it 6cbc bash

2)运行以下命令...

jupyter notebook --generate-config

3)使用类似这样的命令将配置文件复制到容器...

docker cp ipython_kernel_config.py  6cbc8d829e4a:/.jupyter/jupyter_notebook_config.py

我正在寻找一种方法将这 3 个步骤合并到 docker run 命令中。

最佳答案

您是否尝试过将卷挂载添加到运行命令中?

类似这样的事情。

docker run -i -t -v /tmp/.jupyter:/.jupyter/ -p 7778: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 --allow-root"

这假设您有一个 /tmp/.jupyter 目录,并且可以随意更改为其他目录。

此外,这是一个困惑的命令,您为什么不使用 Dockerfile 创建自己的镜像?这是一个粗略的示例,尚未测试,因此可能存在一些拼写错误和语法错误,但您已经明白了。

FROM continuumio/miniconda3
RUN /opt/conda/bin/conda install jupyter -y --quiet
RUN mkdir /opt/notebooks
# COPY in your custom config
COPY ipython_kernel_config.py /.jupyter/jupyter_notebook_config.py
EXPOSE 8888
# RUN the notebook
CMD ["/opt/conda/bin/jupyter", "notebook", "--notebook-dir=/opt/notebooks", "--ip='*'", "--port=8888", "--no-browser", "--allow-root"]

要构建并运行,您需要执行类似的操作。

docker build -t myminiconda3 .
docker run -it -p 7778:8888 myminiconda3

如果需要,您甚至可以挂载到本地文件中。

docker run -it -v `pwd`:/mycode -p 7778:8888 myminiconda3

甚至作为守护进程运行

docker run -d -v `pwd`:/mycode -p 7778:8888 myminiconda3

关于docker - 在 docker run 命令中添加配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43280560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com