Docker 容器全生命周期操作指南

以下是 Docker 容器全生命周期操作指南,按步骤清晰划分,涵盖从镜像加载到容器销毁的完整流程:


一、镜像加载与验证

1. 从 .tar 文件加载镜像
sudo docker load -i ubuntu18.04-boost1.88-cmake3.27-git_1.0.tar
2. 查看已加载的镜像
sudo docker images

输出示例

REPOSITORY                            TAG       IMAGE ID       CREATED         SIZE
ubuntu18.04-boost1.88-cmake3.27-git   1.0       a1b2c3d4e5f6   2 hours ago     1.2GB

二、容器创建与启动

1. 首次运行(必须通过 docker run 创建容器)
sudo docker run -itd \
  --name my_container \          # 指定容器名称
  ubuntu18.04-boost1.88-cmake3.27-git:1.0 \
  tail -f /dev/null              # 保持容器运行的命令
2. 启动已存在的容器
sudo docker start -ai my_container  # -a: 附加输出, -i: 交互模式

三、容器运行中操作

1. 进入运行中的容器
sudo docker exec -it my_container bash
2. 退出容器但不停止
  • 方法:按 Ctrl+PCtrl+Q
  • 效果:容器继续在后台运行
3. 查看容器进程
sudo docker top my_container

四、容器停止与清理

1. 优雅停止
sudo docker stop my_container  # 发送 SIGTERM,等待 10 秒后终止
2. 强制停止
sudo docker kill my_container  # 立即发送 SIGKILL
3. 删除容器
sudo docker rm -f my_container  # -f: 强制删除运行中的容器

五、关键命令速查表

阶段 命令 作用
镜像加载 docker load -i 从本地文件加载镜像
容器创建 docker run -itd --name tail -f /dev/null 创建并启动守护式容器
容器启动 docker start -ai 启动已停止的容器并附加终端
进入容器 docker exec -it bash 在运行中的容器内启动新会话
停止容器 docker stop docker kill 优雅停止/强制停止容器
删除容器 docker rm -f 彻底删除容器

六、完整生命周期示例

# 1. 加载镜像
sudo docker load -i ubuntu18.04-boost1.88-cmake3.27-git_1.0.tar

# 2. 首次创建并启动容器
sudo docker run -itd --name my_app ubuntu18.04-boost1.88-cmake3.27-git:1.0 tail -f /dev/null

# 3. 进入容器编译代码
sudo docker exec -it my_app bash
root@container:/# g++ /home/app.cpp -o /home/app -lboost_system -pthread
root@container:/# /home/app

# 4. 退出容器(不停止)
Ctrl+P → Ctrl+Q

# 5. 停止容器
sudo docker stop my_app

# 6. 再次启动
sudo docker start -ai my_app

# 7. 最终清理
sudo docker rm -f my_app

七、注意事项

  1. 镜像 vs 容器

    • 镜像是静态模板(如 .tar 文件),容器是镜像的动态实例。
    • 必须先通过 docker run 创建容器,才能用 docker start 启动。
  2. 持久化数据

    • 容器内修改的数据默认随容器删除而丢失,需挂载卷保存:
      docker run -v /host/path:/container/path ...
      
  3. 一键清理

    sudo docker system prune  # 清理所有未使用的镜像、容器、网络
    

你可能感兴趣的:(Docker 容器全生命周期操作指南)