Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在docker运行命令中添加配置文件_Docker - Fatal编程技术网

在docker运行命令中添加配置文件

在docker运行命令中添加配置文件,docker,Docker,此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='*' --por

此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。问题是,它生成了一个随机密码来访问jupyter当我去

而且没有办法更改密码。唯一的方法是创建或更新主目录(子文件夹:~/.jupyter)中的配置文件jupyter\u notebook\u config.py 如何在主机上保存此文件并使用-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命令中的方法。

您是否尝试将卷装载添加到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"
docker build -t myminiconda3 .
docker run -it -p 7778:8888 myminiconda3
这假设您有一个
/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 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"
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