针对 小白的镜像使用说明
docker是一款轻量化虚拟机软件,可以通过单条命令实现镜像迁移
本镜像说明,在我们学习编程的时候总是有很多的编程软件需要下载,每个语言的编程软件配置都很费时间,
而且不同的编程语言的软件都不一样,诸如 vscode ,vc6.0 ,pycharm ,idea ,eclips
即便是大佬习惯vim编程,jupyter也可以很好的满足你
下边开始介绍如何使用本教程的镜像
下载docker官网链接https://www.docker.com/
下载完成后,在windows 下安装docker ,linux 可以直接 yum,或者apt 直接安装docker
cmd检测docker是否安装成功 docker --version 输出 Docker version 19.03.5, build 633a0ea
安装完成后就可以使用镜像了
jupyter密码 lmklmk
ssh密码lmk19980312
镜像大小 1.5 g 包含jupyterlab conda gcc g++ java13 python37等语言编译器
#windows 下使用, 在命令行管理员身份执行下边一条命令 docker run -tdi -p 20022:22 -p 20088:8888 --name kernel1 --privileged=true registry.cn-hangzhou.aliyuncs.com/mkmk/conda:v2 init | docker exec -d kernel1 /bin/bash -c "cd /home && source /etc/profile && nohup jlab &" #Linux 下使用 docker run -tdi -p 20022:22 -p 20088:8888 --name kernel1 --privileged=true registry.cn-hangzhou.aliyuncs.com/mkmk/conda:v2 init && docker exec -d kernel1 /bin/bash -c "cd /home && source /etc/profile && nohup jlab &"
英文字符版是 v1 中文字符版是 registry.cn-hangzhou.aliyuncs.com/mkmk/conda:v2
执行完命令后就可以使用
访问jupyter lab ,访问密码 lmklmk
然后就可以开始 各种语言的编程了, c++推荐选用c++17
教程正文结束,想学习docker构建镜像的朋友可以看下,下边的完整的镜像搭建过程,有能力的小伙伴,也可以帮忙添加更多的内核进去,比如 c# ,swift,javascript, 然后在博客回复留下你的,博客以及镜像地址
原始jupuyter环境创建
第一步先创建 一个 jupyterlab 环境
#windows命令 docker run -tdi -p 10022:22 -p 18888:8888 --name jlab1 --privileged=true registry.cn-hangzhou.aliyuncs.com/mkmk/python37:al1 init | docker exec -d jlab1 /bin/bash -c "cd /jupyterlab && nohup jlab &"
安装c环境
环境中已经包含了 gcc
创建一个 文件写下 如下代码
#include<stdio.h> int main() { printf (" py helloWorld,Best wish!\n"); return 0; }
gcc cs1.c -o hello ./hellow 输出 sh-4.2# ./hello py helloWorld,Best wish!
安装 c++ 环境
安装 g++
yum -y install gcc gcc-c++ kernel-devel cmake 安装成功 sh-4.2# g++ -v Using built-in specs. COLLECT_GCC=g++
创建文本文件写下如下 c++ 代码
cplus1.cpp
#include <iostream> using namespace std; int main() { cout << "Hello, world!" << endl; return 0; }
当直接 g++ cplus1.cpp 会固定生成 a.out 可执行文件
所以我们还是加上 -o 指定 生成的可执行文件的名字吧
g++ cplus1.cpp -o cplus1 ./cplus1 输出: Hello, world!
安装 java 编译环境
yum -y install java-devel 安装完成输出 java -version openjdk version "1.8.0_242" OpenJDK Runtime Environment (build 1.8.0_242-b08) OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
编写java程序 h1.java
注意class 名称 要和 文件名称 保持一致
否则会发生报错
public class h1{ public static void main(String[] args){ System.out.print("Hello java!\n"); } }
运行
javac h1.java && java h1 Hello java!
安装 conda
下载安装脚本 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh 1 执行脚本安装 bash Miniconda3-latest-Linux-x86_64.sh # 阅读说明 # 选择安装目录 /usr/local/miniconda3 # 是否安装vscode # 是否添加环境变量 no # 安装完成 source /usr/local/miniconda3/etc/profile.d/conda.sh 测试安装结果 查看版本 conda -V conda 4.7.12 #修改为国内镜像源 conda清华源(TUNA) vi ~/.condarc 文件内容 channels: - defaults show_channel_urls: true channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
conda使用
conda activate
安装 jupyterlab
安装过程: 1、在开始菜单中打开Anaconda Prompt 2、执行jupyter lab安装命令:conda install jupyterlab 3、升级jupyter内核和客户端:conda update jupyter_core jupyter_client 4、启动jupyter lab:jupyter lab 启动jupyter notebook:jupyter notebook [I 21:46:26.903 LabApp] 把notebook 服务cookie密码写入 /root/.local/share/jupyter/runtime/notebook_cookie_secret jupyter notebook --generate-config Writing default config to: /root/.jupyter/jupyter_notebook_config.py vim /root/.jupyter/jupyter_notebook_config.py 将293行 #c.NotebookApp.token = '<generated>'修改为c.NotebookApp.token = 'password',则密码就改为password c.NotebookApp.token = '<generated>' c.NotebookApp.ip = '0.0.0.0' c.NotebookApp.open_browser = False c.NotebookApp.allow_root=True jupyter lab --allow-root 密码会出现 http://127.0.0.1:8888/?token=ff3f83a43662e499d09fcaf84aa62caa35c8dd90cfb0e4d8 nohup jupyter lab --allow-root &
安装 c kernel
#如果要用conda 安装pip 需要
conda install pip pip install jupyter-c-kernel cd /usr/local/miniconda3/lib/python3.7/site-packages/jupyter_c_kernel install_c_kernel 安装完成提示 #Installing IPython kernel spec 测试 #include<stdio.h> int main() { printf (" py hello c program!\n"); return 0; } shift enter 执行 输出 Hello c++!
#pip直接安装
pip3 install jupyter-c-kernel pip3 show jupyter-c-kernel cd /usr/local/python37/lib/python3.7/site-packages/jupyter_c_kernel install_c_kernel 安装成功 Installing IPython kernel spec
安装 c ++ kernel
conda install xeus-cling -c conda-forge 测试 #include <iostream> std::cout << "Hello c++!" << std::endl; shift enter 执行 输出 Hello c++!
安装 java kernel
安装jdk 高于版本8 mkdir /usr/local/java tar -xf jdk-13_linux-x64_bin.tar.gz -C /usr/local/java cd /usr/local/java vim /etc/profile export JAVA_HOME=/usr/local/java/jdk-13 export JRE_HOME=/${JAVA_HOME} export CLASSPATH=.:${JAVA_HOME}/libss:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH source /etc/profile #下载 Ijava wget https://github.com/SpencerPark/IJava/releases/download/v1.2.0/ijava-1.2.0.zip unzip ijava-1.2.0.zip python install.py --sys-prefix jupyter kernelspec list #重启jupyterlab pkill -9 jlab cd /jupyterlab && nohup jlab & source /etc/locale.conf
镜像使用
jupyter密码 lmklmk
ssh密码lmk19980312
镜像大小 1.5 g 包含jupyterlab conda gcc g++ java13 python37等语言编译器
#windows 下使用 docker run -tdi -p 20022:22 -p 20088:8888 --name kernel1 --privileged=true registry.cn-hangzhou.aliyuncs.com/mkmk/conda:v1 init | docker exec -d kernel1 /bin/bash -c "cd /home && source /etc/profile && nohup jlab &" #Linux 下使用 docker run -tdi -p 20022:22 -p 20088:8888 --name kernel1 --privileged=true registry.cn-hangzhou.aliyuncs.com/mkmk/conda:v1 init && docker exec -d kernel1 /bin/bash -c "cd /home && source /etc/profile && nohup jlab &"
upyter编程
点击左上角+号即可,创建,python ,c ,c++ ,java 语言直接编程
直接编程方式
除了jupyter编写c,c++,java,也可以在命令行终端,开发项目,点击左上角 + 号 创建命令行
python: python ptest.py c: gcc ctest.c -o ctest && ./ctest c++: g++ cptest.cpp -o cptest && ./cptest java: javac jtest.java && java jtest
Doker 常用命令
#查看镜像列表 docker images #删除单个镜像 docker rmi image-id #删除所有镜像 docker rmi $(docker images -q) #查看运行中的容器 docker ps #查看所有容器 docker ps -a #停止单个容器 docker stop container-id #停止所有容器 docker stop $(docker ps -a -q) #删除单个容器 docker rm container-id #删除所有容器 docker rm $(docker ps -a -q) #删除系统数据 docker system prune
windows清空 docker stop $(docker ps -a -q) | docker rm $(docker ps -a -q) | docker rmi $(docker images -q) linux清空 docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) && docker rmi $(docker images -q)
完整Dockerfile制作centos7中文字符集
至此,可以基于以上方法,制作一个支持中文环境的Centos7镜像,完成的Dockerfile如下: FROM registry.cn-hangzhou.aliyuncs.com/mkmk/conda:v1 # Install tools RUN yum -y install kde-l10n-Chinese telnet && \ yum -y reinstall glibc-common &&\ yum clean all && \ localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 && \ ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ENV LANG=zh_CN.UTF-8 \ LANGUAGE=zh_CN:zh \ LC_ALL=zh_CN.UTF-8 # Define default command. CMD ["bash"]
docker build -t registry.cn-hangzhou.aliyuncs.com/mkmk/conda:v2 .