码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • docker基本使用总结


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

    目录

      • 刚安装完docker的一个报错解决
      • docker镜像获取
        • 1.1、从网站上拉docker镜像
      • 2、镜像操作
        • 2.1、查看镜像
        • 2.2、删除镜像
        • 2.3、保存镜像
        • 2.4、运行容器
        • 2.5、挂载本地目录到docker镜像目录(设置本地共享目录到容器)
        • 2.6、加载本地镜像到docker
      • 3、容器操作
        • 3.1、查看所有容器
        • 3.2、查看运行着的容器
        • 3.3、启动、停止、重启容器
        • 3.4、进入容器
        • 3.5、保存容器为镜像文件
        • 3.6、加载容器
        • 3.7、 删除容器

    刚安装完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
  • 相关阅读:
    神经元结构图简笔画,神经组织图片简笔画
    基于matlab求两个数最大公约数函数gcd
    漏洞复现--华测监测预警系统2.2任意文件读取
    vue3 如何给表单添加表单效验+正则表达式
    vue2vue3生命周期详解
    Java -- 每日一问:谈谈你的GC调优思路?
    准入控制器(Admission Controller):ResourceQuota,ImagePolicyWebhook
    牛客网基础知识强化巩固-周结02
    Arthas-monitor命令监控方法调用次数、成功次数、失败次数、平局响应时间和失败率
    渗透测试高级技巧(一):分析验签与前端加密
  • 原文地址:https://blog.csdn.net/weixin_42727069/article/details/126335742
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号