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

相关推荐
月上柳青30 分钟前
docker gitlab arm64 版本安装部署
docker·容器·gitlab
神秘剑客_CN44 分钟前
使用windows笔记本让服务器上网
运维·服务器·windows
飞火流星020272 小时前
docker安装Redis:docker离线安装Redis、docker在线安装Redis、Redis镜像下载、Redis配置、Redis命令
redis·docker·docker安装redis·redis镜像下载·redis基本操作·redis配置
黑牛先生2 小时前
【Linux】动静态库
linux·运维·服务器
vortex52 小时前
Shell基础:中括号的使用
linux·运维·bash·shell
Dusk_橙子3 小时前
在K8S中,pending状态一般由什么原因导致的?
云原生·容器·kubernetes
HEX9CF4 小时前
【Docker】快速部署 Nacos 注册中心
运维·docker·容器
小Tomkk4 小时前
Docker 部署 ClickHouse 教程
clickhouse·docker·rpc
从未止步..5 小时前
Jenkins未在第一次登录后设置用户名,第二次登录不进去怎么办?
java·运维·jenkins