Docker笔记之镜像image操作相关命令

docker拉取镜像:

docker [images] pull name:tag(仓库名称:标签)

pull 子命令支持的选项主要包括:
□ -a, --all-tagss=true | false: 是否获取仓库中的所有镜像,默认为否;
□ --disable-content-trust:取消镜像的内容校验,默认为真。
  --registry-mirror==proxy_URL 来指定镜像代理服务地址(如 https://registry.docker-cn.com)

docker查看镜像信息:

docker images (ls):查看镜像信息的命令

images 子命令主要支持如下选项,用户可以自行进行尝试:
□ -a, --all=true | false: 列出所有(包括临时文件)镜像文件,默认为否;
□ --digestS=true | false: 列出镜像的数字摘要值,默认为否;
□ -f, --filter=[]:过滤列出的镜像,如 dangling=true 只显示没有被使用的
镜像;也可指定带有特定标注的镜像等;
□ --format= “TEMPLATE" :控制输出格式,如. ID 代表 ID 信息,.Repository
代表仓库信息等;
□ --no-trune=true | false :对输出结果中太长的部分是否进行截断,如镜像的 ID
信息,默认为true;
□ -q, --quiet=true | false :仅输出 ID 信息,默认为否。
其中,还支持对输出结果进行控制的选项,如-f.--filter=[] 、--notrune=
true | false 、-q、--quiet=true | false 等。
更多子命令选项还可以通过man docker-images 来查看。

用tag进行添加镜像的标签(类似于起一个别名)

docker tag ubuntu:latest mylinux:latest

docker[image]inspect 命令可以获取该镜像的详细信息,包括制作者、适应架构、各层的数字摘要等:

history 命令查看镜像历史

docker搜索镜像:

docker search [option] keyword

支持的命令选项主要包括:
□ -f, --filter filter: 过滤输出内容;
□ --format string: 格式化输出内容;
□ --limit int(整数类型的数字):限制输出结果个数,默认为 25 个;
□ --no-trunc :不截断输出结果。

docker删除镜像:

使用标签删除镜像:

使用docker rmidocker image rm命令可以删除镜像,命令格式为 docker rmi IMAGE [IMAGE... ],其中 IMAGE 可以为标签或 ID。

□ - f, - force :强制删除镜像,即使有容器依赖它;
□ -no-prune: 不要清理未带标签的父镜像。

当同一个镜像拥有多个标签的时候, docker rmi 命令只是删除了该镜像多个标签中的指定标签而已,并不影响镜像文件。但是当镜像只剩下一个标签的时候我们再进行执行命令的话就会删除最后的镜像文件了

同时用rmi命令也可以把后面的镜像名称更换为镜像ID,这时候会先尝试删除所有指向该镜像的标签,之后删除镜像文件本身

注意:当该镜像有创建的容器存在的时候,镜像文件默认无法删除,如果要强制删除的话要加上参数 -f ,通常情况下是先删除依赖该镜像的容器,再删除镜像

删除之后系统中可能会存有遗留的临时镜像文件和没有被使用过的镜像,用命令docker image prune

有关该命令的参数为:
□ -a, -all: 删除所有无用镜像,不光是临时镜像;
□ -filter filter: 只清理符合给定过滤器的镜像;
□ -f, -force: 强制删除镜像,而不进行提示确认。

docker查看正在运行的容器:

docker ps (-a)

docker创建镜像:

根据已有容器进行创建

docker [container] commit 命令

命令格式为docker [container] commit [OPTIONS] CONTAINER [REPOSITORY [:TAG]] ,主要选项包括:
□ -a, --author="" :作者信息;
□ -c, --change= []:提交的时候执行 Dockerfile 指令,包括 CMD|ENTRYPOINT|E
 NV|EXPOSE|LABEL|ONBUILD|USER|VOLUME|WORKDIR 等;
□ -m, --message="" :提交消息;
□ -p, --pause=true:提交时暂停容器运行。

步骤如下:

  • 首先启动镜像,并在其中进行修改

  • 镜像发生了内容改变之后就可以用commit命令提交为一个新的镜像,提交的时候可以用ID或者是名称进行指定容器

  • 查看本地镜像列表,可以看出镜像创建成功

    根据本地的模板进行导入

    用户也可以直接从一个操作系统模板文件导入一个镜像,主要使用docker [ container] import 命令。
    命令格式为 docker [image] import [OPTIONS] file[URL]-[REPOSITORY[:TAG]]

    根据dockerfile创建新镜像:

    Dockerfile是由一组指令组成的文件

    Dockerfile结构四部分

    1. 基础镜像信息

    2. 维护者信息

    3. 镜像操作指令

    4. 容器启动时执行指令

    • Dockerfile每行支持一条指令,每条指令可携带多个参数,支持使用以”#“号开头的注释

指令含义
FROM 镜像指定新镜像所基于的镜像,第一条指令必须为FROM指令,每创建一个镜像就需要一条FROM指令
MAINTAINER 名字说明新镜像的维护人信息
RUN命令在所基于的镜像上执行命令,并提交到新的镜像中
CMD["要运行的程序","参数1","参数2"]指令启动容器时要运行的命令或脚本,Dockerfile只能有一条CMD指令,如果要指定多条则只能最后一条执行
EXPOSE 端口号指定新镜像加载到Docker时要开启端口
ENV 环境变量 变量值设置一个环境变量的值,会被后面的RUN使用
ADD 源文件/目录 目标文件/目录将源文件复制到目标文件,源文件要与Dockerfile位于相同目录中,或者是一个URL
COPY 源文件/目录 目标文件/目录将本地主机上的文件/目录复制到目标地点,源文件/目录要与Dockerfile在相同的目录中
VOLUME["目录"]在容器中创建一个挂载点
USER 用户名/UID指定运行容器时的用户
WORKDIR 路径为后续的RUN、CMD、ENTRYPOINT指定工作目录
ONBUILD 命令指定所生成的镜像作为一个基础镜像时所要运行的命令
HEALTHCHECK健康检查

创建镜像的过程用docker [images] bulid 命令

docker镜像的导入导出操作:

docker [images] save 镜像存出

把镜像导出到本地文件 命令支持 -o 和-ouutput string 参数

docker [image] load 镜像载入

该命令将导出的tar文件导入到本地镜像库 支持-i - input string参数,从指定文件中读入镜像的内容

docker镜像上传

docker [images] push 命令上传到残酷,默认上传到Docker hub仓库

具体的命令格式为:

docker [image] push NAME [: TAG] I [REGISTRY_HOST [: REGISTRY_PORT] /] NAME [: TAG] 
​
EG:
​
$ docker tag test: latest user/test: latest
$ docker push user/test: latest
The push refers to a repository [docker.io/user/test]
Sending image list 
Please login prior to push: 
Username: 
Password: 
Email: 
第一次上传时,会提示输入登录信息或进行注册,之后登录信息会记录到本地~/.docker 目录下
  • 16
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值