容器是什么?

容器是基于镜像创建的可运行实例,并且单独存在,一个镜像可以创建出多个容器。运行容器化环境时,实际上是在容器内部创建该文件系统的读写副本。 这将添加一个容器层,该层允许修改镜像的整个副本。

docker container操作

容器的生命周期

容器的生命周期是容器可能处于的状态,容器的生命周期分为 5 种。

created:初建状态

running:运行状态

stopped:停止状态

paused: 暂停状态

deleted:删除状态

docker container操作

容器的操作

1. 容器的创建及运行

  • 创建容器 docker create [参数] [repository]:[tag]
    docker container操作
  • 运行容器 docker start [容器ID或名称]
    运行刚才创建的容器,我这里指定的名称为busybox(通过 – name 指定容器的名称)
    docker container操作
    这种创建容器并启动的方式在日常工作中不常用,一般我们基于镜像来直接运行一个容器

2. 基于镜像运行一个容器

  • docker run [参数] [repository:tag 或 镜像ID]
    docker container操作

当使用docker run创建并启动容器时,Docker 后台执行的流程为:

  • Docker 会检查本地是否存在 busybox 镜像,如果镜像不存在则从 Docker Hub 拉取 busybox 镜像;

  • 使用 busybox 镜像创建并启动一个容器;

  • 分配文件系统,并且在镜像只读层外创建一个读写层;

  • 从 Docker IP 池中分配一个 IP 给容器;

  • 执行用户的启动命令运行镜像。


  • 上述命令中, -t 参数的作用是分配一个伪终端,-i 参数则可以终端的 STDIN 打开,同时使用 -it 参数可以让我们进入交互模式。

  • 上方中,我的[tag]标签都没指定,默认是latest

3. 终止容器

  • 使用docker stop 命令
    docker container操作
  • 如果想查看停止状态的容器信息,可以使用 docker ps -a 命令。

4. 启动容器

  • 通过docker start 启动终止的容器
    docker container操作
  • 通过docker restart 重启容器
    docker container操作

5. 进入容器

  • 处于运行状态的容器可以通过docker attach、docker exec、nsenter等多种方式进入容器。
  • 这里主要讲使用docker exec 进入容器
  • 格式:docker exec -it [容器标示] [命令]
    docker container操作

6. 删除容器

  • 格式:docker rm [OPTIONS] CONTAINER [CONTAINER…]
  1. 删除已经终止的容器
    docker container操作

  2. 删除正在运行的容器,需要增加-f参数
    docker container操作

7. 容器导出导入

  • 容器导出 docker export
    docker container操作
    执行上方命令后会在当成目录busybox.tar文件

  • 容器导入 docker import
    命令:docker import
    docker container操作

相关文章:

  • 2021-03-15
  • 2021-07-28
  • 2021-06-17
  • 2021-07-26
  • 2021-11-16
  • 2021-12-29
  • 2021-11-08
  • 2021-11-21
猜你喜欢
  • 2021-12-18
  • 2021-08-28
  • 2021-08-12
  • 2021-07-06
  • 2021-11-19
  • 2022-01-02
  • 2022-01-07
相关资源
相似解决方案