• 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
    

      

  • 相关阅读:
    hdu 1028 Ignatius and the Princess III (n的划分)
    CodeForces
    poj 3254 Corn Fields (状压DP入门)
    HYSBZ 1040 骑士 (基环外向树DP)
    PAT 1071 Speech Patterns (25)
    PAT 1077 Kuchiguse (20)
    PAT 1043 Is It a Binary Search Tree (25)
    PAT 1053 Path of Equal Weight (30)
    c++ 常用标准库
    常见数学问题
  • 原文地址:https://www.cnblogs.com/always-fight/p/11698321.html
Copyright © 2020-2023  润新知