• 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 ↩︎

  • 相关阅读:
    Java反射机制基本概念与相关Class类对反射机制的实现
    Java设计模式之访问者模式
    SpringBoot+Vue实现前后端分离的中学成绩管理系统
    PET-MRI医学图像融合与混合神经胶质瘤分类模型
    【配置】Gradle下打包springboot项目,分离配置文件、依赖包
    Linux中的一些常用命令
    Java 算法篇-链表的经典算法:判断回文链表、判断环链表与寻找环入口节点(“龟兔赛跑“算法实现)
    笔试题积累
    【Google】“共码未来“—2022谷歌开发者大会参会记录
    Representative Routes Discovery From Massive Trajectories
  • 原文地址:https://blog.csdn.net/Srwici/article/details/125610488