Docker 镜像与容器的常用操作

前言 :请注意Docker 镜像与Docker 容器的常用操作与使用时他们相关命令的区别,

         如有不了解Docker原理与安装的请移步 Docker 的特性与安装使用

Docker 镜像常用操作

1. 列出镜像   使用 docker images 命令可列出本地可用镜像

 

上篇中我使用 docker run hello-world 检测docker是否正确安装,其实是为我们创建了一个hello-world镜像仓库

下面简单介绍一下上面5个字段的意义

  • REPOSITORY : 表示本地镜像仓库的名称
  • TAG : 表示镜像的标签,一般情况下带有具体的版本或别名,此处latest表示最新版本                
  • IMAGE ID : 表示镜像的标识符,称为"镜像ID" 具有唯一性            
  • CREATED : 镜像的创建时间,使用离现在的时间来表示            
  • SIZE : 表示镜像的字节大小

2. 拉取镜像  使用 docker pull centos 命令可在Docker Hub中拉取 CentOS镜像 

 

3. 搜索镜像  使用 docker search centos 命令可在Docker Hub中搜索 "centos " 关键字的镜像仓库

这里也说下上面表格中的5个字段意思吧

  • NAME : 镜像仓库的名称,不带 /符号的是官方发布的仓库,其它是用户公开的个人仓库,注意这是Docker Hub上的 
  • DESCRIPTION : 表示镜像仓库的描述                                     
  • STARS : 镜像仓库的收藏数,用户可在Docker Hub上对镜像仓库进行收藏              
  • OFFICIAL: 表示是否为官方仓库,官方仓库具有更高的安全性           
  • AUTOMATED : 是否自动构建镜像仓库,需要将自己的Docker Hub绑定到GitHub账号上,代码提交可自动构建镜像仓库

4 导出与导入镜像   使用docker save centos > centos.tar 命令导出 centos镜像为一个tar文件(镜像包),若不指定tar文件路径则默认在当前目录. 导出的镜像包可随时在另一台docker机器上导入, 导入命令 docker load < centos.tar . 发布生产环境上只需将镜像导入到docker机器上然后运行容器就能完成部署

Docker 容器的常用操作

1. 创建并启动容器

    使用 docker run -i -t centos /bin/bash 命令运行CentOS镜像,从而创建并启动CentOS容器

    以上命令比较复杂,既有选项又有参数,下面分析一下

  • -i 选项: 表示启动容器后,打开标准收入设备,可使用键盘镜像输入
  • -t 选项: 表示启动容器后,分配一个伪终端,将于服务器建立一个会话
  • centos参数: 表示需要运行的镜像名称,格式为 centos:latest, 为latest版本可省略
  • /bin/bash参数: 表示运行容器中的bash应用程序

   注意: 该命令实际上首先从本地获取 CentOS 镜像,若本地没有此镜像则从Docker Hub拉取镜像并放入本地在创建并启动容器

 执行以上命令后将启动容器并直接进入容器中,使用 exit 命令可退出容器

2. 列出容器  使用 docker ps 命令列出运行中的容器, docker ps -a 所有,-n n个最近创的容器,-s 增加size字段描述容器大小

注意当我们启动一个容器后需要在另一个终端去执行以上命令

同样也说下上面7个字段的具体意义

  • CONTAINER ID : 容器ID,前面已有描述       
  • IMAGE : 镜像名称              
  • COMMAND : 表示启动容器时运行的命令,Docker要求在启动容器时需要运行一个命令            
  • CREATED : 容器的创建时间             
  • STATUS : 容器运行的状态, up表示运行中,exited表示已退出             
  • PORTS : 容器需要对外暴露的端口号              
  • NAMES : 容器名称,由Docker引擎自动生成,也可以在 docker run 命令中通过 --name 选项来指定

3. 进入容器   使用 docker attach 容器ID或容器名称 命令进入某运行中的容器,注意只能进入运行中的容器

4. 执行命令  使用以下命令向运行中的容器执行具体的命令(需指定容器ID或容器名称)

    docker exec -i -t 71b558d77d47 ls -l     此处 ls -l 表示列出容器当前的目录结构

5. 停止容器  使用 docker stop 71b558d77d47

6. 终止容器  使用 docker kill 容器ID或容器名称 命令终止运行中的容器

7. 启动容器  使用 docker start 容器ID或容器名称 命令启动已停止的容器

8. 重启容器  使用 docker restart 容器ID或容器名称 命令重启运行中的容器

9. 删除容器  使用 docker rm 容器ID或容器名称 命令删除已停止的容器, 注意只能删除已停止的容器不能上运行中的.若使用 -f 选项则对容器发送SIGKILL信号,将强制删除运行中的容器, 使用 docker rm -f 'docker ps -a -q' 一次性删除所有容器

删除镜像  docker rmi -f 镜像名称或ID,注意该命令删除后无法恢复

10.导出与导入容器

使用以下命令导出容器为一个tar文件(容器包),

docker export 镜像名称或ID > centos.tar

若不指定导出的文件路径则默认在当前目录,导出的容器包可随时在另一台Docker机器上导入为镜像,命令如下:

docker import foo.tar huangyong/centeos:latest

注意: 之前用 docker load 命令(从镜像包中导入镜像)与现在使用的docker import 命令(从容器包中导入镜像) 都可以导入镜像,区别在于容器包 不包括任何历史记录,相当于容器的当前快照,而镜像包则 包扣所有的历史记录,因此镜像包的体积也比较大,大家可以根据实际情况选择合适的方式

Docker 命令汇总

Docker 客户端命令总共有 40多个,我们可以通过 dockerhelp 查看所有的命令及其描述

参考资料与容器运行的大致过程, 后面更新如何制作并使用Java镜像

Docker命令参考: https://www.runoob.com/docker/docker-command-manual.html

Linux命令参考:    https://www.runoob.com/linux/linux-tutorial.html

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值