Docker常用命令
帮助启动类命令
1 2 3 4 5 6 7 8 | systemctl start docker #启动docker systemctl stop docker #停止docker systemctl restart docker #重启docker systemctl status docker #查看docker状态 systemctl enable docker #开机启动 docker info #查看docker概要信息 docker --help #查看docker总体帮助文档 docker 具体命令 --help #查看docker命令帮助文档 |
镜像命令
- 列出本地主机上的镜像:docker images
1 2 3 | ##options说明: -a #列出本地所有的镜像(含历史镜像层) -q #只显示镜像ID |
- docker search 某个XX镜像名字
1 2 3 4 5 6 | #网站:https://hub.docker.com #命令: docker search [options] 镜像名字 #docker search redis options说明: --limit :只列出N个镜像,默认25个 docker search --limit 5 redis |
- docker pull 某个xxx镜像名字
1 2 | docker pull #镜像名字:[TAG] #没有TAG就是最新版 等价于:docker pull 镜像名字:latest |
- docker system df 查看镜像/容器/数据卷所占的空间
- 删除镜像
1 2 3 | docker rmi -f 镜像ID #删除单个 docker rmi -f 镜像名1:TAG 镜像名2:TAG #删除多个 docker rmi -f ${docker images -qa} #删除全部 |
容器命令
- 有镜像才能创建容器,这是根本前提
1 2 | docker pull centos docker pull ubuntu |
- 新建+启动容器
1 2 3 4 5 6 7 8 9 10 | docker run [options] IMAGE [ command ][ARG] #options说明(常用):有些是一个减号,有些是两个减号 --name= "容器新名字" 为容器指定一个名称 -d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行) -i:以交互式运行容器,通常与-t同时使用 -t:为容器重新分配一个伪输入终端,通常与-i同时使用;也即启动交互式容器(前台有伪终端,等待交互) -P:随机端口映射,大写P -p:指定端口映射,小写p #启动交互式容器(前台命令行) docker run -it centos /bin/bash |
- 列出当前所有正在运行的容器
1 2 3 4 5 6 | docker ps [options] #options说明: -a #列出当前所有正在运行的容器+历史上运行过的 -l #显示最近创建的容器 -n #显示最近n个创建的容器 -q #静默模式,只显示容器编号 |
- 退出容器
1 2 | exit #run进去容器 exit退出 容器停止 ctrl+p+q #run进去容器 ctrl+p+q退出,容器不停止 |
- 容器启停
1 2 3 4 5 6 | docker start 容器ID或者容器名 #启动已停止运行的容器 docker restart 容器ID或者容器名 #重启容器 docker stop 容器ID或者容器名 #停止容器 docker kill 容器ID或者容器名 #强制停止容器 docker rm 容器ID #删除已停止的容器 docker rm -f ${docker ps -a -q};docker ps -a -q | xargs docker rm #一次性删除多个容器实例 |
- 重要
1 2 3 4 5 6 7 8 9 10 | #启动守护式容器(后台服务器) #大部分场景下,我们希望dockker的服务是在后台运行的,可以通过-d指定容器的后台运行模式 docker run -d 容器名 #解决容器自动停止 docker run -it --name my-redis redis bash #使用交互界面后(Ctrl+p+q)退出容器 docker run -itd --name my-redis2 redis bash #td命令结合使用 -i不是必需,加了后容器起来终端返回容器ID #redis前后台启动演示 docker run -it redis:6.0.8 #前台交互式启动 docker run -d redis:6.0.8 #后台守护式启动 |
1 2 3 4 | docker logs 容器ID #查看容器日志 docker top 容器ID #查看容器内运行的进程 docker inspect 容器ID #查看容器内部细节 docker exec -it 容器ID bashShell #进入正在运行的容器并以命令行交互 |
1 2 3 4 5 6 7 8 9 10 11 | docker attach 容器ID #重新进入 #attach和exec区别 #attach直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器停止 #exec是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止,推荐使用docker exec命令,因为退出容器终端,不会导致容器的停止 #用之前的redis容器实例进入 docker exec -it 容器ID /bin/bash docker exec -it 容器ID redis-cli #一般用-d后台启动的程序,再用exec进入对应容器的实例 #从容器拷贝文件到主机上 #容器->主机 docker cp 容器ID:容器内路径 目的地主机路径 #docker cp ID:/usr/local/mycptest/container.txt /tmp/c.txt |
1 2 3 4 5 | #导入导出容器 export #导出容器的内容作为一个tar归档文件[对应import命令] import #从tar包中的内容创建一个新的文件系统再导入为镜像[对应export] docker export 容器ID> 文件名. tar cat 文件名. tar | docker import -镜像用户/镜像名:镜像版本号 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!