• docker基本使用总结


    docker 的好处开箱即用,一次配置环境,后续永无后顾之忧;学习docker首先要明白镜像与容器的区别,该文是在了解这两者区别基础上给出了一些常用命令的操作

    刚安装完docker的一个报错解决

    docker: Got permission denied while trying to connect to the Docker daemon socket at unix

    groupadd docker     
    gpasswd -a oneUser docker     #oneUser为需要授权的用户
    newgrp docker     
    docker ps    #test
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    docker镜像获取

    1.1、从网站上拉docker镜像

    从网站:https://hub.docker.com/
    进行查找适合的基础镜像

    #网站
    https://hub.docker.com/search?page=1&ordering=last_updated&q=cuda10.0
    
    #拉取镜像命令
    docker pull rogerchen/cuda10.0-cudnn7-py3.6
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2、镜像操作

    2.1、查看镜像

    docker images
    
    • 1

    结果如下:
    在这里插入图片描述
    首行标签为:镜像仓库名称,版本标签,镜像ID,创建日期,大小

    2.2、删除镜像

    docker rmi [OPTIONS] IMAGE [IMAGE...]
    # OPTIONS:
    # -f,--force:强制删除
    
    • 1
    • 2
    • 3

    删除镜像前需要删除掉所有该镜像运行的容器,参考删除容器命令

    2.3、保存镜像

    docker save:导出镜像为镜像文件
    docker export:导出容器为镜像文件
    save命令类似对一个加载的镜像进行另存为到本地。
    如果对容器内容进行更改后需要用export命令把一个更改好的容器保存为一个镜像

    save -o /mnt/hgfs/share/V1.tar 848be2582b0a
    
    • 1

    2.4、运行容器

    docker run -it 镜像ID /bin/bash

    #运行样例
    docker run -it 3b9cc4a571e7 /bin/bash
    
    • 1
    • 2

    2.5、挂载本地目录到docker镜像目录(设置本地共享目录到容器)

    docker run -itd -v 本地目录:docker镜像目录 镜像ID /bin/bash

    #运行样例
    sudo docker run -itd -v /home/zhupenghui/MyWork/Work/BJGF:/share 81bcf752ac3d /bin/bash
    
    • 1
    • 2

    2.6、加载本地镜像到docker

    注意:docker save的镜像包,需要docker load载入
    docker load < 镜像名.tar.gz

    docker load < perl.tar.gz    或   docker load -i perl.tar.gz
    
    • 1

    如果用load加载export的镜像包,则会出现下面错误
    open **** no such file or directory在这里插入图片描述

    3、容器操作

    3.1、查看所有容器

    docker ps -a
    
    • 1

    在这里插入图片描述

    3.2、查看运行着的容器

    docker ps
    
    • 1

    在这里插入图片描述

    3.3、启动、停止、重启容器

    docker start CONTAINER [CONTAINER...]
    docker stop CONTAINER [CONTAINER...]
    docker restart CONTAINER [CONTAINER...]
    
    
    • 1
    • 2
    • 3
    • 4

    3.4、进入容器

    docker exec -it containerID bash
    进入容器修改里面内容前要启动容器
    进入样例:

    docker exec -it 8d1aff98b462 bash
    
    • 1

    3.5、保存容器为镜像文件

    docker save:导出镜像为镜像文件
    docker export:导出容器为镜像文件
    注意:一般容器文件修改后需要用export进行导出保存成镜像,不能使用save命令,save命令类似一个另存为镜像,镜像内容还是没有变化
    注意,存储的时候文件名都使用小写英文字母,不要使用大写英文字母,否则加载的时候可能有异常,详见加载容器方法

    Docker export -o 保存容器绝对路径 容器ID(CONTAINER ID)   
    【使用样例: docker export -o /mnt/hgfs/share/exportv1.0.tar 8e084eefc292】
    
    • 1
    • 2

    3.6、加载容器

    docker export保存的容器,需要docker import载入
    docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

    docker import deeplabv3_py36_v2_20220805.tar deeplab_py36:v1.0
    
    • 1

    注意,容器压缩包名用小写字母,大写字母会报如下错
    在这里插入图片描述
    加载成功界面
    在这里插入图片描述

    3.7、 删除容器

    删除容器前要停止容器

    docker rm [OPTIONS] CONTAINER [CONTAINER...]
    # OPTIONS:
    # -f:通过 SIGKILL 信号强制删除一个运行中的容器
    # -l:移除容器间的网络连接,而非容器本身
    # -v:删除与容器关联的卷
    
    • 1
    • 2
    • 3
    • 4
    • 5

    删除所有的ps -a 记录

    docker rm `docker ps -a -q`
    
    • 1
  • 相关阅读:
    Three.js 性能监视器 Stats
    Ribbon 服务调用配置实战
    LeetCode-66-加一
    伙伴云表格强势升级!Pro版,更非凡!
    Linux网路服务之“PXE网络批量装机和Kickstart全自动化安装”
    【Java】ArrayList集合存入学生对象
    电平转换器IC
    Cron 表达式详解及最新版本使用
    java毕业设计信息技术共享社区Mybatis+系统+数据库+调试部署
    MVC第三波书店账号验证Model
  • 原文地址:https://blog.csdn.net/weixin_42727069/article/details/126335742