Docker镜像与容器操作

Docker镜像操作:

Docker运行容器前需要本地存在对应的镜像。如果不存在本地镜像,docker就会尝试从默认镜像仓库(官方仓库)https://hub.docker.com下载

1.搜索镜像

命令格式:docker search 关键字

2.获取镜像

下载镜像不指定标签,默认下载最新版本的镜像,也可以通过指定的标签下载特定版本的镜像。这里的标签(tag)是用来区分镜像版本的。

命令格式:docker pull 仓库名称[:标签]

整个下载过程可以看出,镜像文件由若干层(Layer)组成,我们称之为AUFS(文件联合系统),是实现增量保存与更新的基础,下载过程中会输出镜像的各层信息

3.查看镜像信息

命令格式:docker images 仓库名称[:标签]

REPOSITORY ---镜像属于的仓库

TAG ---镜像的标签信息,标记同一个仓库中不同镜像

IMAGE ID ---镜像的唯一ID号,唯一标识了该镜像

CREATED ---镜像创建时间

SIZE ---镜像大小

4.获取镜像详细信息

命令格式:docker inspect 镜像ID号

5.为本地镜像添加新标签

命令格式:docker tag 名称[:标签] 新名称[:标签]

6.删除镜像

命令格式:docker rmi 仓库名称:标签 或者docker rmi 镜像ID号

注意:当一个镜像有多个标签的时候,docker rmi 命令只是删除该镜像多个标签中的指定标签,不会影响镜像文件。但当该镜像只剩下一个标签的时候,此时删除该标签的时候会彻底删除该镜像。

使用docker rmi 镜像ID号命令时,必须确保该镜像没有被容器使用才能进行,删除时系统会先删除掉指向该镜像的所有标签,然后删除镜像本身。如果该镜像已经被容器使用,正确的做法是先删除依赖该镜像的所有容器,再删除镜像

7.存出镜像和载入镜像(镜像迁移)

存出镜像,也就是将镜像保存成本地文件。

命令格式:docker save -o 存储文件名 存储的镜像

载入镜像,也就是将导出的文件导入到其他机器的镜像库中

命令格式:docker load < 存出的文件 或者docker --input 存出的文件

8.上传镜像

本地存储的镜像越来越多,就需要指定一个专门的地方存放这些镜像-仓库。

命令格式:docker push 仓库名称:标签

例如在公共仓库上成功注册了一个账号,这个账号叫做xiang10,新增的镜像的标签为xiang10/lamp:centos7

docker tag nickistre/centos-lamp xiang10/lamp:centos7

Docker容器操作

1.创建容器

创建容器就是将镜像加载到到容器,新创建的容器默认处于停止状态,不运行任何程序。

命令格式:docker create [选项] 镜像 运行的程序

-i 让容器对的输入保持打开-t 让Docker分配一个伪终端

2.查看容器的运行状态

docker ps #查看所有容器的运行状态

docker ps -a #查看最近一次启动的容器的运行状态

3.创建并启动容器

可以直接执行docker run命令

其运行过程:

1.检查本地是否存在指定的镜像,当镜像不存在时,会从公共仓库下载;

2.利用镜像创建并启动容器;

3.执行用户指定的应用程序;

4.执行完毕后容器被中止运行

例如创建容器并启动执行一条shell命令

docker run centos /usr/bin/bash -c ls /

但有时候需要在后台持续运行这个容器,就要让docker以守护态在后台运行,可以在docker run命令后添加“-d”选项实现。那么,容器运行的程序就不能结束。

docker run -d centos /usr/bin/bash -c "while true;do echo hello;done"

4.运行、中止容器

命令格式:docker start 容器的ID/名称 #启动停止状态的容器

命令格式:docker stop 容器的ID/名称 #中止运行状态的容器

5.进入容器

当不进入容器时,容器运行完所执行的程序后会自动停止,为了避免这样的情况,我们需要进入容器执行,且退出容器后,容器并不会停止。

命令格式:docker exec -it 容器的ID/名称 /bin/bash

-i 让容器对的输入保持打开-t 让Docker分配一个伪终端

6.导出与导入容器

导出容器,也就是将已经创建好的容器容器导出为文件

命令格式:docker export 容器的ID/名称 > 文件名

例如导出容器到文件centos7tar

导入容器,也就是将导出文件传输到其他机器

命令格式:cat 文件名| docker import - 生成的镜像名称:标签

例如导入文件centos7tar成为本地镜像

7.删除容器

将一个已经处于中止状态的容器删除

命令格式:docker rm 容器的ID/名称

如果要删除一个正在运行的容器,可以添加-f选项强制删除,但建议先将容器停止再做删除操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值