管理和使用 Docker 容器-创建交互式Docker容器

Docker 容器操作入门

1. 交互式启动并进入容器

  • 命令

    docker run --name <容器名称> -it <镜像名称>
    • 示例:
      docker run --name hello -it centos
  • 参数解释

    • --name:为容器指定一个名称。例如 hello
    • -i:以交互式方式运行容器。
    • -t:分配一个伪终端,方便操作。
    • <镜像名称>:启动容器所需的镜像名称,例如 centos
  • 执行效果

    • 运行后直接进入容器内部,获得一个交互式终端,通常是 bash 或其他 shell。
    • 示例:进入容器后,显示类似以下内容:
      [root@容器ID /]#

2. 拉取或加载镜像

  • 如果本地没有所需镜像,可以通过以下两种方式获取:
    1. 从远程仓库拉取
      docker pull <镜像名称>
      示例:
      docker pull centos
    2. 加载本地压缩镜像包
      docker load -i <镜像文件>
      示例:
      docker load -i centos.tar.gz
  • 注意
    • 如果从 Docker Hub 拉取镜像速度较慢,可以使用镜像加速器或加载提供的本地镜像包。

3. 容器启动后的操作

  • 查看运行中的容器

    docker ps
    • 输出内容包括:
      • 容器 ID
      • 使用的镜像
      • 容器启动命令
      • 容器启动时间
      • 容器名称
    • 示例输出:
      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
      abc123def456 centos "/bin/bash" 10 seconds ago Up 10 sec hello
  • 退出容器

    1. 直接退出(容器停止)
      exit
      • 容器退出后会停止运行,可通过 docker ps -a 查看已停止的容器。
    2. 后台运行容器(建议使用守护式启动,见下文)

4. 守护式启动容器

  • 命令

    docker run --name <容器名称> -dit <镜像名称>
    • 示例:
      docker run --name hello -dit centos
  • 参数解释

    • -d:以守护进程的方式运行容器,容器运行后不会自动进入交互式终端。
    • 其他参数与交互式启动保持一致。
  • 进入运行中的容器

    docker exec -it <容器名称或ID> /bin/bash
    • 示例:
      docker exec -it hello /bin/bash
  • 特点

    • 即使退出容器,容器仍然保持运行状态,可随时重新进入。

5. 查看与管理容器

  • 查看所有容器(包括已停止的)
    docker ps -a
  • 启动已停止的容器
    docker start <容器名称或ID>
  • 停止运行中的容器
    docker stop <容器名称或ID>
  • 删除容器
    docker rm <容器名称或ID>
    • 强制删除:
      docker rm -f <容器名称或ID>

6. 构建自定义镜像

  • 基于基础镜像构建新镜像
    • 通常使用官方基础镜像(如 centos),通过 Dockerfile 构建自己的服务镜像。
  • 推荐实践
    • 使用 Dockerfile 定义构建流程。
    • 自行封装服务(如 Nginx、Tomcat)并存储在私有镜像仓库,确保安全性。

7. Docker 常用命令速览

命令 作用 示例
docker run 启动容器 docker run --name hello -it centos
docker ps 查看运行中的容器 docker ps
docker ps -a 查看所有容器 docker ps -a
docker exec 进入运行中的容器 docker exec -it hello /bin/bash
docker start 启动已停止的容器 docker start hello
docker stop 停止运行中的容器 docker stop hello
docker rm 删除已停止的容器 docker rm hello
docker load 加载本地镜像文件 docker load -i centos.tar.gz
docker save 保存镜像为本地压缩包 docker save -o centos.tar.gz centos

容器操作的实际案例

案例一:交互式启动容器

  1. 启动一个基于 centos 镜像的容器:
    docker run --name hello -it centos
  2. 进入容器后,执行操作,如查看系统版本:
    cat /etc/os-release
  3. 退出容器:
    exit

案例二:守护式启动容器并进入

  1. 守护式启动容器:
    docker run --name hello -dit centos
  2. 查看正在运行的容器:
    docker ps
  3. 进入容器:
    docker exec -it hello /bin/bash
  4. 退出容器但保持运行:
    exit

案例三:停止与删除容器

  1. 停止容器:
    docker stop hello
  2. 删除容器:
    docker rm hello

总结

  1. 启动容器的方式

    • 交互式启动:docker run -it,适合调试和临时操作。
    • 守护式启动:docker run -dit,适合长期运行的服务。
    • 进入容器:docker exec -itdocker attach
  2. 容器状态管理

    • 查看运行中的容器:docker ps
    • 查看所有容器(包括已停止的):docker ps -a
    • 停止和删除容器:docker stopdocker rm
  3. 最佳实践

    • 使用基础镜像(如 centos)自行构建服务镜像,确保安全可控。
    • 定期清理无用的容器和镜像,释放磁盘空间。
posted @   皇帽讲绿帽带法技巧  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示