Docker 基础命令解析

Docker 基础命令解析

1. 镜像仓库获取镜像

  • 从 Docker 镜像仓库获取镜像命令:$ docker pull [选项] [Docker Registry 域名/IP[:端口号]/]仓库名[:标签]
    • 默认的 Docker Registry 域名/IP:Docker Hub(docker.io)
    • 仓库名一般是<用户名/软件名>:默认用户名为 library 意为官方镜像
  • 获取镜像还无法运行,需要以镜像为基础启动并运行一个容器
    • 命令示例:$ docker run -it --rm ubuntu:18.04 bash
    • -it: 两个参数-i-t 标志,容器以交互方式运行并将输出记录到伪终端(pseudo-tty)
    • --rm:容器退出后就删除,不加此参数需要手动执行 docker rm
    • bash:容器内执行的命令(等同 /bin/bash),此命令是进入容器后,进入 Ubuntu 18.04 的 Bash shell 终端环境,执行任何所需的命令(Ubuntu 镜像默认的命令是 /bin/sh 进入 sh shell)
    • 输入 $ exit:退出容器

2. 列出所有镜像

  • 列出所有镜像命令:$ docker image ls
    • 结果:仓库名、标签、镜像 ID(镜像的唯一标识)、创建时间 以及 所占用的空间

3. 删除本地镜像

  • 删除本地镜像命令:$ docker image rm [选项] <镜像1> [<镜像2> ...]
    • <镜像>:镜像短 ID(一般前3个字符以上,足够区分即可)、镜像长 ID、镜像名(<仓库名>[:<标签>]) 或者 镜像摘要($ docker image ls --digests 返回的 DIGEST)
  • 如果此镜像启动的容器存在(无论是否运行),删除镜像会出错,需要先将容器删除

4. 查看所有容器

  • 查看所有运行中容器命令:docker container ls
    • CONTAINER ID:唯一的识别号码
    • IMAGE:容器的镜像名
    • COMMAND:启动容器时运行的命令
    • CREATED:创建时间
    • STATUS:容器的状态,运行中(Up)、退出(Exited)等
    • PORTS:容器的端口映射和绑定信息
    • NAMES:自定的容器的名称
  • 查看终止状态的容器命令:docker container ls -a
  • 查看正在运行的容器命令:docker ps

5. 启动容器

  • Docker 的容器特别轻量,很适合随时删除和新创建容器(可以类比 Git 的分支)

1. 基于镜像新建容器并启动

  • 基于镜像新建容器并启动命令:$ docker run [选项] 仓库名[:标签] [/bin/bash 命令等]
    • 检查本地是否存在指定的镜像,不存在就从 registry 下载

2. 启动已终止容器

  • 启动已终止(exited)容器命令:$ docker container start [选项] <容器1> [<容器2> ...]
  • 重启运行中的容器命令:$ docker container restart [选项] <容器1> [<容器2> ...]

3. 后台启动容器

  • 后台启动容器命令:$ docker run -d [选项] 仓库名[:标签] [/bin/bash 命令等]
    • 容器会在后台运行并不会把输出的结果 (STDOUT) 打印到宿主机上面,输出结果可以用 docker logs 查看
    • 容器是否会长久运行,是和 docker run 指定的命令有关,和 -d 参数无关

6. 终止容器

  • 终止运行中的容器命令:$ docker container stop [选项] <容器1> [<容器2> ...]
  • 当 Docker 容器中指定的应用终结时,容器也自动终止
    • 如用户通过 exit 命令或 Ctrl+d 来退出终端时,所创建的容器立刻终止

7. 进入容器

  • 启动时使用 -d 参数时,容器启动后会进入后台,此时可使用 $ docker attach$ docker exec
  • $ docker attach CONTAINER-ID:进入容器后,通过 $ exit 退出时会停止容器
  • 推荐 $ docker exec [选项] CONTAINER-ID [/bin/bash 命令等]:进入容器后,通过 $ exit 退出时不会停止容器

8. 删除容器

  • 删除处于终止状态的容器命令:$ docker container rm [选项] <容器1> [<容器2> ...]
  • 删除处于运行中状态的容器命令:$ docker container rm -f [选项] <容器1> [<容器2> ...]
  • 清理所有处于终止状态的容器命令:$ docker container prune

参考:
https://vuepress.mirror.docker-practice.com/introduction/what/
https://www.runoob.com/docker/docker-container-usage.html

猜你喜欢

转载自blog.csdn.net/qq_33530115/article/details/130837692
今日推荐