Bootstrap

Docker 常用命令

1.帮助启动类命令

1.启动docker

systemctl start docker

2.停止docker

systemctl stop docker

3.重启docker

systemctl restart docker

4.查看dockers状态

systemctl status docker

5.开机自启

systemctl enable docker

6.开机自启同时启动

systemctl enable --now docker

7.查看docker概要信息 

docker info

8.查看docker总体帮助文档

docker -help

9.查看docker命令帮助文档

docker 具体命令 --help

2. 镜像命令

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

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

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

docker search 镜像源的名字

返回前五条 

docker search - -limit 5 redis

3.拉取镜像

docker pull 镜像名:[tag] 没有 默认就是最新latest

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

docker system df

5.删除镜像

docker rmi  镜像标识 可以加 -f标识 强制删除

docker rmi - f $(docker images -qa)

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

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

长什么样

3.容器命令

 这里以ubuntu做示范

docker pull ubuntu

拉取ubuntu镜像

1.新建或启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]  

 option 参数

command 命令

 arg 参数

i 是交互  t是终端的意思 

尝试运行一下Ubuntu

docker run -it ubuntu

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

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

两种方式

docker run -it ubuntu bash
docker run -it ubuntu /bin/bash

来运行

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

 退出就输入 exit

给容器取个名字

docker run -it --name=jmjubuntu ubuntu /bin/bash

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

docker ps [OPTIONS]

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

比如 -i 等效于 --interactive

docker ps -n 1

 

3.退出容器

1.退出 容器停止

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

exit
 2.退出容器不停止

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

使用这个又可以进入容器

docker exec -it 容器id bash

 4.删除容器

# 删除指定容器
docker rm 容器id

只能删除不在运行的容器

强制删除

docker rm -f 容器id   #强制删除

第二个命令解释一下 

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

5.进入容器

docker exec -it 容器id bash

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

 

7.redis启动演示case

1.前台交互式启动

docker run -it redis:6.0.8

 2.后台守护式启动

docker run -d redis:6.0.8

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

docker top 容器id

9.查看容器内部的细节

docker inspect 容器id

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

docker exec -it 容器id bash
docker attach 容器id

 

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

docker cp 1924db6e1c43:/tmp/a.txt /root

12.导入和导出容器

导出

docker export 1924db6e1c43 >abcd.tar

.tar 或 .gz都可以

导入

cat abcd.tar | docker import - jmj/ubuntu:3.7

导入了成为一个镜像

运行

docker run -it jmj/ubuntu:3.7 /bin/bash

检查是否有a.txt文件

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

;