• Docker---3.Docker镜像使用篇


    1 罗列本机镜像列表

    docker images

    在这里插入图片描述

    我们可以从图中看到里面有存在两个ubuntu的镜像,一个是latest版本的,一个是15.10版本的。

    同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如果我们在运行时可以使用REPOSITOORY:TAG来使用具体的镜像,如果不加具体的TAG就会默认使用latest版本的。比如说:

     docker run -t -i ubuntu:15.10 /bin/bash 
    
    • 1

    里面的ubuntu:15.10

    属性说明

    • REPOSITORY:表示镜像的仓库源。

    • TAG:镜像的标签。

    • IMAGE ID:镜像ID。

    • CREATED:镜像创建时间。

    • SIZE:镜像大小。

    镜像的由来:如果镜像没有下载,但是运行容器的时候镜像不存在,会默认从Docker Hub公共镜像源下载。

    2 新增本机镜像

    docker pull 镜像名[版本号],如果没有版本号默认使用latest的。

    3 查找远端镜像

    • 可以从公共镜像网址里获取镜像。
    • docker search 镜像名,获取相关的镜像的信息。

    在这里插入图片描述

    参数说明:

    • NAME: 镜像仓库源的名称

    • DESCRIPTION: 镜像的描述

    • OFFICIAL: 是否 docker 官方发布

    • stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。

    • AUTOMATED: 自动构建。

    4 删除本机镜像

    docker rmi 镜像名,镜像名可以从docker images

    docker rmi 镜像名
    
    • 1

    在这里插入图片描述

    5 更新本机镜像

    步骤:

    • 先用镜像开启容器后,在容器内进行更新。
    • 更新完毕后退出容器,使用docker commit将修改的容器提交保存一个新的镜像。
     docker commit -m "upgrade:使用apt-get update进行更新" -a="runoob" cfc3dadf9bd5 runoob/ubuntu:v2
    
    • 1

    在这里插入图片描述

    参数说明:

    • -m: 提交的描述信息

    • -a: 指定镜像作者

    • cfc3dadf9bd5:容器 ID

    • runoob/ubuntu:v2: 指定要创建的目标镜像名

    6 创建镜像

    docker build命令,根据Dockerfile文件从0创建一个镜像。

    • 创建一个Dockerfile文件

    例如:

    FROM centos:6.7
    LABEL maintainer="swrici"
    
    RUN     /bin/echo 'root:123456' |chpasswd
    RUN     useradd runoob
    RUN     /bin/echo 'runoob:123456' |chpasswd
    RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
    EXPOSE 22
    EXPOSE 80
    CMD /usr/sbin/sshd -D
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    - 每个指令前缀都必是大写。
    - 每一个指令都会在镜像上创建一个新的层,
    - 第一条FROM,指定使用哪个镜像源
    - RUN 指令告诉docker 在镜像内执行命令,安装了什么
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    • 创建完后执行docker build 命令
    docker build -t runoob/centos:6.7 .
    
    • 1

    参数说明:

    • -t :指定要创建的目标镜像名

    • . :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
      执行结果:

    在这里插入图片描述

    如果是windows下的linux子系统可能会在执行中出现错误码139的情况。

    解决方案1

    • 在用户目录下新建.wslconfig文件。 比如:C:\Users(用户名).wslconfig
    • 文件内容为:
      [wsl2]
      kernelCommandLine = vsyscall=emulate
    • 重启电脑

    7 设置镜像tag

    docker tag 镜像ID

    docker tag 97cdc68827e1 runoob/centos:dev
    
    • 1
    • 97cdc68827e1: 镜像ID
    • runoob/centos:镜像源名(repository name)
    • dev :新的标签名(tag)。

    1. 引用:https://blog.csdn.net/i2blue/article/details/119035406 ↩︎

  • 相关阅读:
    VSCode 工具常用插件
    Matlab:合并不同的整数类型
    MyBatis核心配置文件解析: 一步步深入理解mybatis-config.xml
    SpirngMVC获取请求参数
    发展高质量存储力,中国高科技力量聚浪成潮
    力扣HOT100 - 108. 将有序数组转换为二叉搜索树
    pytorch 配置deformabledetr和referformer工程环境踩坑
    【MySQL基础笔记】
    神经网络回归任务
    打开游戏提示xapofx1_5.dll丢失如何修复?xapofx1_5.dll缺失的修复教程分享
  • 原文地址:https://blog.csdn.net/Srwici/article/details/125610488