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

相关推荐
再ZzZ19 分钟前
Docker安装PaddleOCR并提供接口服务(CPU)
运维·docker·容器
FJSAY21 分钟前
我自己动手写了一个MySQL自动化备份脚本,基于docker
mysql·docker·自动化
Cosmoshhhyyy1 小时前
腾讯云配置了国内镜像依然docker search失败
docker·云计算·腾讯云
love530love1 小时前
是否需要预先安装 CUDA Toolkit?——按使用场景分级推荐及进阶说明
linux·运维·前端·人工智能·windows·后端·nlp
m0_694845572 小时前
日本云服务器租用多少钱合适
linux·运维·服务器·安全·云计算
bxlj_jcj2 小时前
Kafka环境搭建全攻略:从Docker到Java实战
java·docker·kafka
一心0922 小时前
Linux部署bmc TrueSight 监控agent步骤
linux·运维·服务器·监控·bmc truesight
Florence232 小时前
linux中执行脚本命令的source和“.”和“./”的区别
linux·运维·服务器
白日依山尽yy2 小时前
Linux02
linux·运维·服务器
JavaAlpha2 小时前
Jenkins 配置信息导出 的详细说明(中英对照)
运维·servlet·jenkins