• dockerDesktop使用方法


    安装软件

    装在C盘会容易满,可以装在D盘,

    "path\to\Docker Desktop Installer.exe"  install -accept-license  --installation-dir=D:\Docker\Docker --wsl-default-data-root=D:\Docker\data
    
    • 1

    并且在软件的设置的Docker Engine里添加阿里镜像源,

    https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

    "registry-mirrors": [
        "https://***.mirror.aliyuncs.com"
      ]
    
    • 1
    • 2
    • 3

    查看docker 版本号信息

    docker version
    
    • 1
    docker info
    
    • 1

    docker 镜像命令

    查看自己服务器中docker 镜像列表

    docker images
    
    • 1

    拉取镜像 不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest 加:tag 则是拉取指定版本

    docker pull 镜像名 
    docker pull 镜像名:tag
    
    • 1
    • 2

    删除镜像 ------当前镜像没有被任何容器使用才可以删除

    #删除一个
    docker rmi -f 镜像名/镜像ID
    
    #删除多个 其镜像ID或镜像用用空格隔开即可 
    docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID
    
    #删除全部镜像  -a 意思为显示全部, -q 意思为只显示ID
    docker rmi -f $(docker images -aq)
    
    # 强制删除镜像
    docker image rm 镜像名称/镜像ID
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    保存镜像到.tar

    docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字
    
    • 1

    加载<镜像.tar>

    docker load -i 镜像保存文件位置
    
    • 1

    添加一个新镜像来改tag

    docker tag 源镜像名:TAG 想要生成新的镜像名:新的TAG
    
    • 1

    docker 容器命令

    查看正在运行容器列表

    docker ps
    docker ps -a
    
    • 1
    • 2

    新建一个容器

    # -it 表示 与容器进行交互式启动 -d 表示可后台运行容器 (守护式运行)  --name 给要运行的容器 起的名字  /bin/bash  交互路径
    docker run -it -d -p 宿主机端口:容器端口 --name 容器名 --gpus all 镜像名:Tag /bin/bash 
    \ -v 宿主机文件存储位置:容器内文件位置
    \ --restart=always # 设置开机自启动
    
    • 1
    • 2
    • 3
    • 4

    进入容器

    # 启动容器
    docker start 容器ID/容器名
    # 重启容器
    docker restart 容器ID/容器名
    # 更换容器名
    docker rename 容器ID/容器名 新容器名
    
    # 进入容器的两种方式
    docker exec -it 容器名/容器ID /bin/bash
    docker attach 容器名/容器ID
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    退出容器

    #-----直接退出  未添加 -d(持久化运行容器) 时 执行此参数 容器会被关闭  
    exit
    # 优雅退出 --- 无论是否添加-d 参数 执行此命令容器都不会被关闭
    Ctrl + p + q
    
    • 1
    • 2
    • 3
    • 4

    停止容器

    docker stop 容器名/容器ID
    
    # kill容器
    docker kill 容器ID/容器名
    
    • 1
    • 2
    • 3
    • 4

    删除容器

    #删除一个容器
    docker rm -f 容器名/容器ID
    #删除多个容器 空格隔开要删除的容器名或容器ID
    docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID
    #删除全部容器
    docker rm -f $(docker ps -aq)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    容器文件拷贝 —无论容器是否开启 都可以进行拷贝

    #docker cp 容器ID/名称:文件路径  要拷贝到外部的路径   |     要拷贝到外部的路径  容器ID/名称:文件路径
    #从容器内 拷出
    docker cp 容器ID/名称: 容器内路径  容器外路径
    #从外部 拷贝文件到容器内
    docker  cp 容器外路径 容器ID/名称: 容器内路径
    
    • 1
    • 2
    • 3
    • 4
    • 5

    dockerfile编写

    把项目的代码比如./facechain文件夹放到和dockerfile同一级目录,

    FROM nvidia/cuda:11.0.3-cudnn8-devel-ubuntu20.04
    
    ADD ./facechain /code
    
    RUN gpg --keyserver keyserver.ubuntu.com --recv A4B469963BF863CC && \
        gpg --export --armor A4B469963BF863CC | apt-key add -
    
    RUN  sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
    RUN  apt-get clean
    
    RUN apt update && \
        apt-get update
    
    RUN apt install -y \
            wget build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev \
            libreadline-dev libffi-dev libsqlite3-dev libbz2-dev liblzma-dev vim && \
        apt clean && \
        rm -rf /var/lib/apt/lists/*
    
    RUN wget https://www.python.org/ftp/python/3.8.18/Python-3.8.18.tgz && \
        tar -xzvf Python-3.8.18.tgz && \
        mkdir python3
    
    RUN cd Python-3.8.18 && \
        ./configure --enable-optimizations && \
        make && \
        make install 
    
    RUN ln -s /usr/local/bin/python3 /usr/local/bin/python && \
        ln -s /usr/local/bin/pip3 /usr/local/bin/pip
    
    WORKDIR /code
    
    RUN pip3 install -r requirements.txt && \
    	pip3 install -U openmim && \
    	mim install mmcv-full==1.7.0 && \
        rm -r /root/.cache/pip
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    镜像构建

    docker build  -t ImageName:TagName dir
    
    • 1
  • 相关阅读:
    Java中的深拷贝与浅拷贝
    Android 系统开发人员的权限说明文档
    Elasticsearch系列-安装部署
    TS的安装及使用时遇到的问题
    “综合”web项目编写------手把手0基础教学(二)
    深入解析HTML三位重要成员,探索html、head和body标签的奥秘
    C#中错误与异常处理
    欧拉函数——最大公约数(gcd+筛质数+欧拉函数)
    什么是HTML5中的Web存储API,包括LocalStorage和SessionStorage?它们的区别是什么?
    解锁无限资源:用爬虫玩转石墨文档
  • 原文地址:https://blog.csdn.net/weixin_43955293/article/details/134535364