docker使用

概述

  • 从 Docker 镜像仓库获取镜像
docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
  • 地址默认是docker hub
  • 运行容器
docker run -d -it --rm \
    ubuntu:16.04 \
    bash
  • -d,以守护态运行
  • it:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。我们这里打算进入 bash执行一些命令并查看返回结果,因此我们需要交互式终端。
  • rm:这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用 --rm 可以避免浪费空间。
  • bash:放在镜像名后的是命令,这里我们希望有个交互式Shell,因此用的是 bash
  • -p 8081:8080:端口绑定,本地的8081对应容器的8080
  • 列出已经下载下来的镜像
  • 只显示顶层镜像
docker image ls[镜像名][:标签]
image
  • 显示所有镜像

为了加速镜像构建、重复利用资源,Docker 会利用 中间层镜像。
可能会存在虚悬镜像,但是不应该删除,他们是其他上层镜像所依赖的

$ docker image ls -a

  • 查看已生成的容器(如果查看正在运行的则不需要加--all
docker container ls --all
image
  • 查看镜像、容器、数据卷所占用的空间
docker system df
image
  • 虚悬镜像
    由于新旧镜像同名,旧镜像名称被取消或者官方更新后镜像名被转移到新下载的镜像上,导致为<none>的情况,这类无标签镜像也被称为 虚悬镜像(dangling image)
  • 显示虚悬镜像
$ docker image ls -f dangling=true
  • 删除虚悬镜像
$ docker image prune
  • 删除本地镜像
$ docker image rm [选项] <镜像1> [<镜像2> ...]
  • 我们需要删除所有仓库名为 redis 的镜像:
$ docker image rm $(docker image ls -q redis)
  • 进入容器
$ docker exec -it [name] bash
  • 查看正在运行的容器
docker ps
  • 查找镜像(从官网hub上)
docker search ubuntu
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容