Docker 使用镜像(拉取镜像+运行容器+列出镜像+镜像体积+虚悬镜像+删除镜像)

使用镜像

从 Docker 镜像仓库获取镜像的命令
  • 命令格式

sudo docker pull [选项] [url : 端口号]/镜像名[:标签]

  • 此处的url 默认为Docker Hub
  • 标签可忽略,默认为latest
  • 举个例子 $ docker pull ubuntu:16.04
运行容器(容器是镜像的一个实例)
  • 输入命令

sudo docker run -it -rm 镜像名[:标签] bash

  • -it:这里包括两个参数

-i:交互式参数
-t:终端

  • –rm:这个参数是说容器退出之后随之将其删除
  • bash启动交互式shell
  • exit命令退出
列出镜像
  • 命令

sudo docker images

  • 列表包含了 仓库名(镜像名)、标签、镜像 ID、创建时间 以及 所占用的空间
  • 镜像 ID 则是镜像的唯一标识
  • 一个镜像可以对应多个标签
  • docker images 列表中的镜像体积总和并非是所有镜像实际硬盘消耗

因为不同镜像可能会因为使用相同的基础镜像,从而拥有共同的层,相同的层只需要保存一份即可,因此实际镜像硬盘占用空间很可能要比这个列表镜像大小的总和要小的多

镜像体积
  • 宿主标识的镜像空间和Docker Hub上的不同,Docker Hub上的是经过压缩的

命令:docker system df
可查看镜像、容器、数据卷所占用的空间

虚悬镜像
  • 这个镜像既没有仓库名,也没有标签,均为 none
删除镜像
  • 命令

sudo docker image rm <Image_ID>

  • ID一般取前3个字符以上,只要足够区分于别的镜像便可成功删除
  • 可以添加 -f 参数,可删除正在运行的容器
  • docker container prune 命令可以清理所有处于终止状态的容器
### 配置Docker Compose YAML文件使用国内镜像源 对于希望加速构建过程并提高下载速度的开发者来说,在中国境内配置Docker服务时利用本地镜像源是一个有效的方法。通过修改`docker-compose.yml`文件中的特定字段,能够实现这一目标。 #### 使用阿里云作为私有仓库地址 当定义服务所需依赖的基础镜像时,可以通过指定完整的路径来指向位于中国大陆境内的存储库位置: ```yaml version: '3' services: webapp: image: registry.cn-hangzhou.aliyuncs.com/namespace/image-name:tag ``` 此处`registry.cn-hangzhou.aliyunccs.com`代表了阿里云提供的官方公共镜像站之一[^1];而`namespace/image-name:tag`则是具体的项目命名空间下的镜像及其版本号。 #### 设置构建上下文环境变量 如果是在编写用于自动最新版应用代码的服务描述符,则可以在`.env`文件里加入如下设置以确保每次都能获到来自快速通道的新鲜数据流: ```properties DOCKER_BUILDKIT=1 COMPOSE_HTTP_TIMEOUT=200 REGISTRY_MIRROR=https://<your-mirror>.mirror.aliyuncs.com/ ``` 其中最后一项便是用来告知Compose工具链优先考虑哪个HTTP(S)代理服务器去请求远程资源[^2]。 #### 自动化清理未标记(虚悬镜像 为了保持系统的整洁有序以及磁盘空间的有效管理,建议定期执行清除操作移除那些不再需要但是仍然占用着宝贵容量的老化资产——即所谓的“虚悬”实例。这一步骤同样适用于基于YAML语法编写的多容器应用程序部署方案之中: ```bash docker compose down && docker system prune -af --volumes ``` 上述脚本不仅停止当前活动的所有进程单元而且还会彻底释放掉关联的数据卷结构体之外的一切冗余组件,包括但不限于之前提到过的那种无参实体对象[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值