zoukankan      html  css  js  c++  java
  • 服务器Docker-Compose 安装 Anaconda

    前置:Docker、Docker-Compose的安装以及相关使用

    一、docker-compose.yml

    version: '3.1'
    services:
      anaconda:
        restart: always
        image: continuumio/anaconda3:2021.04
        container_name: anaconda
        ports:
          - 8888:8888
        command: /bin/bash -c "mkdir -p /mnt/data && mkdir -p /mnt/app && chmod +x /mnt/app/entrypoint.sh && /mnt/app/entrypoint.sh > /mnt/app/log.log"
        volumes:
          - ./app:/mnt/app
          - ./data:/mnt/data
    
    

    二、文件准备

    1. 在yml文件同级目录下创建目录app

    mkdir ./app
    

    2. 在app目录下创建几个文件

    entrypoint.sh

    #!/bin/bash
    echo y|conda install -c conda-forge jupyterlab
    echo y|jupyter notebook --generate-config
    sha1=`python3 /mnt/app/setPwd.py`
    echo $sha1
    echo "c.NotebookApp.ip='*'                          #绑定所有地址,即所有IP 地址都可以访问" >> /root/.jupyter/jupyter_notebook_config.py
    echo "c.NotebookApp.password = u'$sha1'" >> /root/.jupyter/jupyter_notebook_config.py
    echo "c.NotebookApp.open_browser = False            #启动后是否在浏览器中自动打开" >> /root/.jupyter/jupyter_notebook_config.py
    echo "c.NotebookApp.port =8888                      #指定一个访问端口8100,默认8888" >> /root/.jupyter/jupyter_notebook_config.py
    echo "c.NotebookApp.allow_remote = True     #将远程访问设置成True" >> /root/.jupyter/jupyter_notebook_config.py
    echo "c.NotebookApp.notebook_dir = '/mnt/data'   #设置项目路径" >> /root/.jupyter/jupyter_notebook_config.py
    pip --default-timeout=100 install -U jupyter_contrib_nbextensions
    jupyter contrib nbextension install --user
    pip --default-timeout=100 install -U jupyter_nbextensions_configurator
    jupyter nbextensions_configurator enable --user
    chmod +x /mnt/app/install.sh
    /mnt/app/install.sh &
    # 安装字体
    # chmod +x /mnt/app/cpfont.sh 
    # /mnt/app/cpfont.sh &
    jupyter notebook --allow-root
    

    setPwd.py

    from notebook.auth import passwd
    # 密码:12345
    print(passwd("12345","sha1"))
    

    install.sh

    自定义安装python包

    #!/bin/bash
    for line in `cat /mnt/app/environment.txt`
    do
     pip install $line -i https://mirrors.aliyun.com/pypi/simple/
    done
    

    environment.txt

    包名与版本

    tensorflow==2.4.0
    keras==2.4.3
    librosa
    numba==0.51.2
    

    cpfont.sh

    设置matplotlib中文字体

    #!/bin/bash
    cp /mnt/app/fonts/* /opt/conda/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf
    rm -rf /root/.cache/matplotlib
    echo "font.family         : sans-serif" >> /opt/conda/lib/python3.8/site-packages/matplotlib/mpl-data/matplotlibrc
    echo "font.sans-serif     : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif" >> /opt/conda/lib/python3.8/site-packages/matplotlib/mpl-data/matplotlibrc
    echo "axes.unicode_minus  : False" >> /opt/conda/lib/python3.8/site-packages/matplotlib/mpl-data/matplotlibrc
    

    fonts目录

    存放字体文件

    app目录结构

    三、启动docker

    docker-compose up -d
    

    启动时比较慢,多等一会,刷新后进入输入密码的界面

    输入密码后进入主界面

    自此,大功告成,完结撒花

    四、设置代码提示

    点击Nbextensions选项卡勾选Hinterland,使用Jupyter敲几行代码试试,终于摆脱每次按tab键的烦恼了

  • 相关阅读:
    关于MySql 数据库InnoDB存储引擎介绍
    .netcore 中使用开源的AOP框架 AspectCore
    C#关于反序列化实例时,接收实体字段少于或大于原实体对象 解析测试
    PostgreSQL TIMESTAMP类型 时间戳
    C# 新特性 操作符单?与??和 ?. 的使用
    PostgreSQL 常用函数
    AutoCAD.Net/C#.Net QQ群:193522571 previewicon生成的块图标太小,CMLContentSearchPreviews生成大的图片
    C#winform中OpenFileDialog的用法
    C# winform datagridview 无需点击两次即可编辑内嵌控件的方法和删除默认的空行的方法
    C# winform datagridview 内嵌控件值改变后立即触发事件,而不需要离开该单元格时才触发,此时需要用到dgv_CurrentCellDirtyStateChanged事件
  • 原文地址:https://www.cnblogs.com/zzxaaas/p/14769516.html
Copyright © 2011-2022 走看看