Docker 镜像使用

拉取镜像

Docker 镜像的拉取,可以使用 docker pull 命令,命令格式一般为 docker pull [Registry]/[Repository]/[Image]:[Tag]。而且执行拉取命令时,都是先从本地搜索,如果本地搜索不到镜像则从 Docker Hub 下载镜像。

● Registry:为注册服务器,Docker 默认会从 docker.io 拉取镜像,可以将其替换为自己的注册服务器。
● Repository:为镜像仓库,通常把一组相关联的镜像归为一个镜像仓库,library 为 Docker 默认的镜像仓库。
● Image:为镜像名称。
● Tag:为镜像的标签,如果不指定拉取镜像的标签,默认为 latest。

查看镜像

Docker 镜像查看,可以使用 docker images 命令;如果需要查看指定的镜像,可以使用 docker image ls 或者 docker images | grep 命令。

### 列出本地所有镜像
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              4bb46517cacc        9 days ago          133MB
busybox             latest              018c9d7b7922        3 weeks ago         10MB 

### 查看指定镜像
$ docker image ls busybox
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              018c9d7b7922        3 weeks ago         10MB  

$ docker images | grep busybox
busybox             latest              018c9d7b7922        3 weeks ago         10MB

重命名镜像

自定义镜像名称或者推送镜像到其他镜像仓库,可以使用 docker tag 命令,命令格式为 docker tag [SOURCE_IMAGE]:[TAG] [TARGET_IMAGE]:[TAG]。重命名的镜像除了别名不同,其他的内容一致,所以也不能通过镜像ID来删除镜像。

$ docker tag busybox:latest mybbox:latest
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              018c9d7b7922        3 weeks ago         10MB 
mybbox              latest              018c9d7b7922        3 weeks ago         10MB 

删除镜像

删除镜像,可以使用 docker rmi 或者 docker image rm 命令,如果镜像名有多个相同的,则需要指定标签,默认删除的镜像标签是 latest

$ docker rmi mybbox
Untagged: mybusybox:latest

构建镜像

方式1:使用 docker commit 命令将运行中的容器提交为镜像,命令格式为 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

$ docker run -it --rm --name=mybb busybox sh
$ docker commit a404c6c174a2 busybox:v1

方式2:Dockerfile 是一个包含了用户所有构建命令的文本,使用 docker build 命令从 Dockerfile 构建镜像,注意要在 Dockerfile 所在目录下执行命令。
使用 Dockerfile 构建镜像具有以下特性:
● Dockerfile 的每一行命令都会生成一个独立的镜像层,并且拥有唯一的 ID;
● Dockerfile 的命令是完全透明的,通过查看 Dockerfile 知道镜像是如何构建的;
● Dockerfile 是纯文本的,方便跟随代码一起存放在代码仓库并做版本管理。

FROM centos:7
COPY nginx.repo /etc/yum.repos.d/nginx.repo
RUN yum install -y nginx
EXPOSE 80
ENV HOST=mynginx
CMD ["nginx","-g","daemon off;"]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值