新手入门Docker镜像与容器核心操作常用命令全整理前言刚开始学习 Docker最容易让人迷惑的就是镜像和容器的关系以及零散繁多的命令记不住、操作流程理不清。本文用通俗易懂的语言把镜像与容器核心概念、两种容器创建方式、日常全部常用命令整理齐全。开篇先放完整操作流程图先看懂整体脉络再逐条学命令新手零基础也能直接上手收藏可当随身命令手册。一、Docker 完整操作流程图先全局看懂所有命令逻辑覆盖全部操作流程Docker 核心镜像基础模板容器独立小型电脑1. 镜像基础操作查看本地镜像docker images删除指定镜像docker rmi 镜像ID方式一一键创建启动自动进入容器docker run -it --name 自定义名 镜像名 /bin/bash自动进入容器内部可直接操作支持多终端连接docker exec -it 容器名 bash支持停止容器docker stop 容器名方式二分步创建容器不自动进入1. 创建容器docker create --name 自定义名 镜像名2. 启动容器docker start 容器名3. 进入容器docker exec -it 容器名 bash4. 停止容器docker stop 容器名容器通用管理操作查看运行中容器docker ps查看所有容器docker ps -a删除已停止容器docker rm 容器ID容器资源监控docker stats --no-stream服务器辅助命令目录文件大小排序du -sh * | sort -rh二、核心概念通俗理解镜像是基础模板基于一个镜像可以创建多个独立容器。容器可以类比为一台小型独立电脑容器启动后支持多个终端同时连接进行操作。镜像预装好环境的系统模板只读用来批量生成容器容器由镜像实例化运行起来的独立环境可开机、关机、多终端登录、删除重建三、镜像常用操作命令镜像是所有容器的基础先掌握两条核心命令1. 查看本地所有镜像dockerimages2. 删除指定镜像dockerrmi 镜像id四、容器两种创建方式方式一一键创建并直接进入容器适合快速调试、临时使用一条命令完成创建、启动、进入dockerrun-it--name自定义容器名称 镜像名称 /bin/bash#实操避坑1docker容器中写代码想在本机使用vscode打开代码需要添加挂载点#实操避坑2在docker中更新apt包的时候发现网络不可用及网络慢的问题需要共享宿主主机的网络#修改镜像源为tsinghua加快速度 /etc/apt/sources.listdockerrun-it\--nameros2_humble_dev\--hostnameros2-dev\--networkhost\--volume/home/xxx/foton/docker:/home/xxx/ros2_humble\镜像名称\/bin/bashDocker run 完整命令参数对照表部分代码含义基础命令docker run创建并运行一个新容器交互模式-it保持标准输入打开分配伪终端容器名称--name ros2_humble_dev给容器起名字后续操作使用主机名--hostname ros2-dev设置容器内的主机名决定终端提示符共享宿主主机网络–networkdocker本身会网段隔离设置后可共享宿主主机网络挂载卷--volume /home/xxx/foton/docker:/home/xxx/ros2_humble宿主机路径:容器内路径实时同步镜像名称镜像名称基于哪个镜像创建启动命令/bin/bash容器启动后打开 bash 终端特点执行命令后自动进入容器内部已进入容器仍可新开终端用docker exec多端连接随时可执行docker stop停止容器方式二分步创建容器分开管控适合需要单独创建、后续手动启停的场景创建容器docker create \-\-name 自定义名称 镜像名称启动容器docker start 自定义名称停止容器docker stop 自定义名称进入运行中的容器docker exec \-it 自定义名称 bash重点docker run一键创建 和create\start分步创建容器功能完全一致都支持启停、多终端登录。五、容器查看与删除1. 查看正在运行的容器dockerps2. 查看所有容器运行中已停止dockerps-a3. 删除容器注意需先停止容器再执行删除dockerrm容器id六、资源监控 amp; 服务器辅助命令1. 容器资源占用监控只输出一次静态资源占用不实时刷新dockerstats --no-stream2. 目录文件大小排序查看当前目录下文件/文件夹大小从大到小排序du-sh*|sort-rh七、总结一个镜像可创建多个相互隔离的容器彼此互不影响容器两种创建方式无优劣根据场景自由选择无论哪种方式创建的容器都支持docker exec多终端连接、docker stop启停日常运维排查磁盘、监控容器资源熟练使用docker stats和du命令效率更高。
新手入门Docker:镜像与容器核心操作+常用命令全整理
新手入门Docker镜像与容器核心操作常用命令全整理前言刚开始学习 Docker最容易让人迷惑的就是镜像和容器的关系以及零散繁多的命令记不住、操作流程理不清。本文用通俗易懂的语言把镜像与容器核心概念、两种容器创建方式、日常全部常用命令整理齐全。开篇先放完整操作流程图先看懂整体脉络再逐条学命令新手零基础也能直接上手收藏可当随身命令手册。一、Docker 完整操作流程图先全局看懂所有命令逻辑覆盖全部操作流程Docker 核心镜像基础模板容器独立小型电脑1. 镜像基础操作查看本地镜像docker images删除指定镜像docker rmi 镜像ID方式一一键创建启动自动进入容器docker run -it --name 自定义名 镜像名 /bin/bash自动进入容器内部可直接操作支持多终端连接docker exec -it 容器名 bash支持停止容器docker stop 容器名方式二分步创建容器不自动进入1. 创建容器docker create --name 自定义名 镜像名2. 启动容器docker start 容器名3. 进入容器docker exec -it 容器名 bash4. 停止容器docker stop 容器名容器通用管理操作查看运行中容器docker ps查看所有容器docker ps -a删除已停止容器docker rm 容器ID容器资源监控docker stats --no-stream服务器辅助命令目录文件大小排序du -sh * | sort -rh二、核心概念通俗理解镜像是基础模板基于一个镜像可以创建多个独立容器。容器可以类比为一台小型独立电脑容器启动后支持多个终端同时连接进行操作。镜像预装好环境的系统模板只读用来批量生成容器容器由镜像实例化运行起来的独立环境可开机、关机、多终端登录、删除重建三、镜像常用操作命令镜像是所有容器的基础先掌握两条核心命令1. 查看本地所有镜像dockerimages2. 删除指定镜像dockerrmi 镜像id四、容器两种创建方式方式一一键创建并直接进入容器适合快速调试、临时使用一条命令完成创建、启动、进入dockerrun-it--name自定义容器名称 镜像名称 /bin/bash#实操避坑1docker容器中写代码想在本机使用vscode打开代码需要添加挂载点#实操避坑2在docker中更新apt包的时候发现网络不可用及网络慢的问题需要共享宿主主机的网络#修改镜像源为tsinghua加快速度 /etc/apt/sources.listdockerrun-it\--nameros2_humble_dev\--hostnameros2-dev\--networkhost\--volume/home/xxx/foton/docker:/home/xxx/ros2_humble\镜像名称\/bin/bashDocker run 完整命令参数对照表部分代码含义基础命令docker run创建并运行一个新容器交互模式-it保持标准输入打开分配伪终端容器名称--name ros2_humble_dev给容器起名字后续操作使用主机名--hostname ros2-dev设置容器内的主机名决定终端提示符共享宿主主机网络–networkdocker本身会网段隔离设置后可共享宿主主机网络挂载卷--volume /home/xxx/foton/docker:/home/xxx/ros2_humble宿主机路径:容器内路径实时同步镜像名称镜像名称基于哪个镜像创建启动命令/bin/bash容器启动后打开 bash 终端特点执行命令后自动进入容器内部已进入容器仍可新开终端用docker exec多端连接随时可执行docker stop停止容器方式二分步创建容器分开管控适合需要单独创建、后续手动启停的场景创建容器docker create \-\-name 自定义名称 镜像名称启动容器docker start 自定义名称停止容器docker stop 自定义名称进入运行中的容器docker exec \-it 自定义名称 bash重点docker run一键创建 和create\start分步创建容器功能完全一致都支持启停、多终端登录。五、容器查看与删除1. 查看正在运行的容器dockerps2. 查看所有容器运行中已停止dockerps-a3. 删除容器注意需先停止容器再执行删除dockerrm容器id六、资源监控 amp; 服务器辅助命令1. 容器资源占用监控只输出一次静态资源占用不实时刷新dockerstats --no-stream2. 目录文件大小排序查看当前目录下文件/文件夹大小从大到小排序du-sh*|sort-rh七、总结一个镜像可创建多个相互隔离的容器彼此互不影响容器两种创建方式无优劣根据场景自由选择无论哪种方式创建的容器都支持docker exec多终端连接、docker stop启停日常运维排查磁盘、监控容器资源熟练使用docker stats和du命令效率更高。