Docker 常用命令

1.帮助启动类命令

1.启动docker

bash 复制代码
systemctl start docker

2.停止docker

bash 复制代码
systemctl stop docker

3.重启docker

bash 复制代码
systemctl restart docker

4.查看dockers状态

bash 复制代码
systemctl status docker

5.开机自启

bash 复制代码
systemctl enable docker

6.开机自启同时启动

bash 复制代码
systemctl enable --now docker

7.查看docker概要信息

bash 复制代码
docker info

8.查看docker总体帮助文档

bash 复制代码
docker -help

9.查看docker命令帮助文档

bash 复制代码
docker 具体命令 --help

2. 镜像命令

1.列出本地主机上的镜像

bash 复制代码
docker images
1.列出本地所有镜像(含历史映像层)
bash 复制代码
docker images -a
2.只显示镜像id
bash 复制代码
docker images -q

2.查询某个镜像在镜像源有哪些版本

bash 复制代码
docker search 镜像源的名字

返回前五条

bash 复制代码
docker search - -limit 5 redis

3.拉取镜像

bash 复制代码
docker pull 镜像名:[tag] 没有 默认就是最新latest

4.查看镜像 / 容器 / 数据卷 所占用的空间

bash 复制代码
docker system df

5.删除镜像

bash 复制代码
docker rmi  镜像标识 可以加 -f标识 强制删除
bash 复制代码
docker rmi - f $(docker images -qa)

6.面试题 :谈谈docker虚悬镜像是什么?

仓库、标签都是<none>的镜像,俗称虚悬镜像 dangling image

长什么样

3.容器命令

这里以ubuntu做示范

bash 复制代码
docker pull ubuntu

拉取ubuntu镜像

1.新建或启动容器

bash 复制代码
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]  

option 参数

command 命令

arg 参数

i 是交互 t是终端的意思

尝试运行一下Ubuntu

bash 复制代码
docker run -it ubuntu

但是还没结束,开启了终端命令,你得需要输入命令 啊

所以在后面还得加入参数 在容器内 执行 /bin/bash命令来开启容器内终端供外面使用

两种方式

bash 复制代码
docker run -it ubuntu bash
bash 复制代码
docker run -it ubuntu /bin/bash

来运行

他就进入容器内部的终端了

退出就输入 exit

给容器取个名字

bash 复制代码
docker run -it --name=jmjubuntu ubuntu /bin/bash

2.列出当前所有正在运行的容器

bash 复制代码
docker ps [OPTIONS]

终于明白了 这些 -i -t 的都是缩写 正常的命令都是 --全称

比如 -i 等效于 --interactive

bash 复制代码
docker ps -n 1

3.退出容器

1.退出 容器停止

run进去容器 exit退出 容器停止

bash 复制代码
exit
2.退出容器不停止

run进去容器, ctrl + p + q 退出 容器不停止

使用这个又可以进入容器

bash 复制代码
docker exec -it 容器id bash

4.删除容器

bash 复制代码
# 删除指定容器
docker rm 容器id

只能删除不在运行的容器

强制删除

bash 复制代码
docker rm -f 容器id   #强制删除

第二个命令解释一下

把管道符前面执行的结果作为参数传入 xargs 并执行 docker rm 命令

5.进入容器

bash 复制代码
docker exec -it 容器id bash

6.启动守护式容器 后台服务器

7.redis启动演示case

1.前台交互式启动

bash 复制代码
docker run -it redis:6.0.8

2.后台守护式启动

bash 复制代码
docker run -d redis:6.0.8

8.查看容器内运行的进程

bash 复制代码
docker top 容器id

9.查看容器内部的细节

bash 复制代码
docker inspect 容器id

10.进入正在运行的容器并以命令行交互

bash 复制代码
docker exec -it 容器id bash
bash 复制代码
docker attach 容器id

11.从容器拷贝文件到主机

bash 复制代码
docker cp 1924db6e1c43:/tmp/a.txt /root

12.导入和导出容器

导出

bash 复制代码
docker export 1924db6e1c43 >abcd.tar

.tar 或 .gz都可以

导入

bash 复制代码
cat abcd.tar | docker import - jmj/ubuntu:3.7

导入了成为一个镜像

运行

bash 复制代码
docker run -it jmj/ubuntu:3.7 /bin/bash

检查是否有a.txt文件

这块知识应该过期了,如果保留容器中得修改记录 就需要用 save load

相关推荐
HY小海1 天前
【Linux】进程概念
linux·运维·服务器
王八八。1 天前
linux后台java、postSQL部署命令
java·linux·运维
TheRouter1 天前
LLM 应用的Evals 工程实践:从手动测试到自动化回归测试体系
运维·ai·自动化·log4j
黎阳之光1 天前
黎阳之光:以视频孪生重构智慧防火,打造“天空地人智”一体化森林防火新范式
大数据·运维·人工智能·物联网·安全
сокол1 天前
【网安-Web渗透测试-靶场系列】AWD-Platform(ctf-hub)
linux·服务器·ubuntu·网络安全·docker
utf8mb4安全女神1 天前
Linux系统服务相关命令【定时任务设置】【任务进程管理】【防火墙区域应用】
linux·运维·服务器
凯丨1 天前
Claude Code 自动化开发的完整体系
运维·自动化
月走乂山1 天前
Windows 10 WSL2 安装问题排查与解决全记录
windows·docker·hyper-v·故障排查·wsl2
SilentSamsara1 天前
concurrent.futures 实战:进程池与线程池的统一抽象
运维·开发语言·python·青少年编程
疯狂成瘾者1 天前
常见的 Linux 版本
linux·运维·服务器