zoukankan      html  css  js  c++  java
  • docker使用

    一、tag重命名

    docker tag image_id bert_ner:pytorch_cuda_10.0.130

     但是会保留原来的镜像,这时可以使用docker rmi删除原来的镜像

     二、根据镜像名创建容器

    docker run -it -d --name=service -p 8000:8000 image_id
    

      -d:表示后台模式创建一个容器

     --name:指定容器名字

     -it:交互模式

    三、修改容器中的文件

     正常情况下进入容器,后vi即可,但是容器内没安装vi的话,并且也无法联网安装vi,则需要将容器内文件拷贝出来,vi之后再拷贝进容器

    docker cp service: /code/worker/filename .
    # service为容器名,后面为需要拷贝出来的文件路径
    # 拷贝出来后进行vi
    # 然后重新拷贝到容器内
    docker cp filename service:/code/worker/processor/utils/
    

    四、利用docker创建包含需要python包的python镜像

    docker pull python:3.7.4
    docker run -it python:3.7.4 /bin/bash
    pip install pandas
    docker commit your_container new_images:tags # 创建新镜像

    五、如何保存镜像到本地,然后放到其他服务器上

    docker images # 先查看自己需要得镜像ID
    docker save -o bert_ner_pytorch_cuda_10.0.130_image.tar REPOSITORY:TAG# 保存的名字自己定,REPOSITORY:TAG是已经存在的镜像
    
    # 保存到本地后,生成的镜像我们可以满地跑啦,带着她远走高飞
    docker load < bert_ner_pytorch_cuda_10.0.130.tar
    docker images #可以查看自己load上的镜像
    
    # 重命名images
    docker tag ner/pytorch:cuda_10.0.130 bert_ner_yh:pytorch_cuda_10.0.130
    

    六、docker使用流程

    # 有时某个用户无权限使用docker
    sudo usermod -G docker user_name
    
    # 手里有某个镜像:名字为Image_File
    docker load < Image_File
    
    # 查看自己的镜像,然后创建容器,并进入容器环境
    docker images 
    docker run -it --name=container_name Image_ID bash
    
    # 假如进入容器后对环境不满意,一顿骚操作后可以重新生成新的镜像
    docker commit container_name New_Image:Tags
    docker images
    # 然后可以保存新的镜像文件
    docker save New_Image_ID > Image_File.tar
    
    # 删除原来的垃圾容器和镜像
    docker rm -f container_name
    docker rmi -f Image_ID
    
    # 已经有了新镜像,我们在某个路径下新建目录,每种模型下面都按data,output,script,service, pre_train_model结构来放置
    mkdir -p NLP/Text_Classification/Bert_Base
    # 如Bert_Base目录下面放置data,output,script,service, pre_train_model框架
    
    # 有了上面的模型目录结构,我们把NLP挂载到启动的容器下,-v参考挂载,-p参数映射端口,并设置好端口映射,我们先进入NLP目录,然后
    # --name指定生成的容器名字
    docker run -it --name=model_all -v $PWD:/workspace/NLP/ -v /etc/localtime:/etc/localtime -p 7901:8901 Image_ID /bin/bash
    # 进入容器后,我们就发现:/workspace/NLP/Text_Classification/Bert_Base,创建容器后,我们可以像下面方式再进入容器:model_all
    docker exec -it model_all bash
    

      

  • 相关阅读:
    文章评论:级数中达朗贝尔判别法和柯西判别法之间的关系研究 By 彭军
    解析函数论 Page 22 达朗贝尔判别法 VS 柯西判别法
    解析函數論 Page 28 連續復變函數的最簡單的性質
    #2066:一个人的旅行(Dijkstra算法入门题)
    #2072 单词数(字符串流使用)
    传统的DOM渲染方式 吴小明
    【闭包】closure 吴小明
    报文 吴小明
    节流和防抖 吴小明
    什么是模块化?它有什么好处?常用的模块化开发的方案 吴小明
  • 原文地址:https://www.cnblogs.com/always-fight/p/11698321.html
Copyright © 2011-2022 走看看