【docker】docker命令行简析

本文详细介绍Docker CLI命令行的使用,涵盖容器生命周期管理、运维、rootfs操作、镜像仓库、本地镜像管理及其它命令。核心内容包括运行、停止、重启、删除容器,查看、操作容器信息,管理镜像等。

【摘要】docker提供了CLI命令行,本文从用户使用分类来介绍docker各个子命令,本文不深入分析各个子命令的参数使用,这个待后续文档逐个进行分析。

1、容器生命周期管理

运行容器:docker run              //开始运行运行新容器
启动容器:docker start            //启动已停止的容器
停止容器:docker stop             //优雅关闭,类似于关机
强杀容器:docker kill             //强制关闭,类似于拔电源
重启容器:docker restart
暂停容器:docker pause            //进程暂停,但是网络协议栈还是能够正常工作
恢复容器:docker unpause
删除容器:docker rm               //删除后通过docker ps将看不到,容器删除后,容器相关的镜像并不会自动删除

点评:容器生命周期管理功能相对比较完整,如果CRUD项目完成,实现容器热迁移,应该会添加上热迁移接口。

2、容器运维

查看所有容器:docker ps
查看容器信息:docker inspect
查看容器进程:docker top
登录容器:docker attach
显示容器事件:docker events
显示容器进程日志:docker logs
等待容器停止:docker wait              //可用于监控或故障恢复
持久化镜像:docker export              //可用于恢复,配套docker import,会丢失层
输出端口映射信息:docker port

点评:缺少容器资源动态调整。 

3、容器rootfs命令

把容器的rootfs修改创建新镜像:docker commit
把容器内的文件复制到host主机:docker cp
查看容器内文件变化:docker diff

4、镜像仓库

登录镜像仓库:docker login
下载镜像:docker pull
上传镜像:docker push
查询镜像:docker search
5、本地镜像管理

查看镜像清单:docker images
删除镜像文件:docker rmi
镜像打标签:docker tag               //为镜像创建名字,类似于别名
查看镜像的命令行历史:docker history
制作镜像:docker build
持久化镜像:docker save             //保存镜像所有的层,即保存容器的修改
从远端文件创建镜像:docker import


6、其他命令

查看host信息:docker info
查看docker版本:docker version








<think>我们被要求用中文回答问题,并在最后提出3-5个相关问题,且第一行必须是"§§相关问题§§"。 用户的问题是“docker进入容器命令行”,这是一个关于Docker操作的具体问题。 回答步骤: 1. 解释如何进入正在运行的Docker容器的命令行。 2. 提供常用的命令示例。 3. 注意:如果容器没有运行,需要先启动容器。 常用命令: - 使用`docker exec -it <容器名或ID> /bin/bash`(对于基于Ubuntu/Debian的容器) - 或者使用`docker exec -it <容器名或ID> /bin/sh`(对于Alpine等轻量级容器) 如果容器没有启动,则需要先使用`docker start <容器名或ID>`启动容器。 另外,也可以使用`docker attach`,但注意它与`exec`的区别:`attach`会连接到正在运行的容器的标准输入、输出错误流,如果容器的主进程是交互式的(如bash),那么可以进入;但如果不是,则可能无法交互,而且退出时(比如输入exit)可能会导致容器停止。所以一般推荐使用`exec`。 因此,我们将重点放在`docker exec`上。 最后,根据规则,在回答后提出3-5个相关问题,以“§§相关问题§§”开头,然后列出问题。 注意:相关问题应围绕Docker容器操作命令行进入。 </think>要进入正在运行的 Docker 容器的命令行界面(如 Bash 或 Sh),需使用 `docker exec` 命令配合交互式选项。以下是具体操作步骤: ### 标准进入方法: ```bash docker exec -it <容器名或容器ID> <shell路径> ``` - **`-it` 选项**:`-i` 保持标准输入打开,`-t` 分配伪终端(提供交互式界面) - **`<shell路径>`**:根据容器基础镜像选择: - Ubuntu/Debian:`/bin/bash` - Alpine:`/bin/sh` - BusyBox:`/bin/sh` - 其他:可通过 `docker inspect <容器ID> | grep -i shell` 查询 ### 常用示例: 1. 通过容器名称进入(推荐): ```bash docker exec -it my_nginx_container /bin/bash ``` 2. 通过容器ID进入: ```bash docker exec -it c3f279d17e0a /bin/sh ``` ### 注意事项: 1. **容器必须正在运行**:若容器未启动,需先执行 `docker start <容器名>` 2. **基础镜像限制**:部分精简镜像(如 `scratch`)无 Shell,需在 Dockerfile 中预先安装 3. **退出容器**:命令行中输入 `exit` 或 `Ctrl+D` 可退出但不停止容器 4. **替代方案**:`docker attach` 命令会连接到主进程(退出可能导致容器停止,不推荐) ### 完整流程演示: ```bash # 列出运行中的容器 docker ps # 进入容器(假设容器名为 web-app) docker exec -it web-app /bin/bash # 容器内操作示例 root@c3f279d17e0a:/# ls root@c3f279d17e0a:/# apt update # Debian/Ubuntu root@c3f279d17e0a:/# exit # 退出 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值