docker目录
- 前言
- 基本命令
-
- 帮助启动类命令
- 镜像命令
-
- [查看所有的镜像 -a](#查看所有的镜像 -a)
- [查看镜像ID -q](#查看镜像ID -q)
- 在仓库里面查找redis
- 拉取镜像
- 查看容器/镜像/数据卷所占内存
- 删除一个镜像
- 删除多个镜像
- 容器命令
- 后记
前言
在第一弹学习中,我们学会了docker的安装,成功运行了docker,docker就像它的图标一样,是一个鲸鱼,我们需要在docker上面放集装箱 (就是创建容器,比如说redis,app啥的昂),docker是基于Linux内核的,因此我们在VMware Workstation上使用centos镜像学习的docker。
众所周知java的三要素是封装、继承和多态,docker同样也有三要素,镜像、容器和仓库 。这里的镜像就像是模板,比如redis、centos等的镜像,我们是不是先拉下来,然后在镜像上面操作。容器就来存放镜像,一定要注意确保容器创建成功,别一天到晚忙忙碌碌的搬东西到箱子里面,结果发现箱子不在,尊嘟会笑得肚子疼。仓库就是我们拉取镜像的地方。
基本命令
帮助启动类命令
terminal 小tips,
ctrl++
就会放大字迹。
停止docker服务
bash
systemctl stop docker
查看docker状态
bash
systemctl status docker
启动docker
bash
systemctl start docker
systemctl status docker
重启docker
bash
systemctl restart docker
开机启动docker
bash
systemctl enable docker
查看概要信息
bash
docker info
查看总体帮助文档
这种帮助文档最适合我们这种小白,要学会自己学习,这句话其实是对我自己说的,最讨厌看这种玩意儿了(掌嘴)不,我最喜欢看这种漂亮的文字了(洗脑ing)
bash
docker --help
查看命令帮助文档
bash
docker run --help
查看run
这个命令的帮助文档,记得run
吧,我们刚开始运行的hello-world
就是run
帮助我们的呀!
ok,到这里我们的帮助启动类的命令就结束了,接下来看看我们的镜像命令啦,还记得docker三大元素嘛,再复习一次:镜像、容器和仓库。
镜像命令
bash
docker images
这里解释以下这个标题的内容,repository仓库,tag表示版本标签,如果我们run的时候没有加上这个tag标签,默认就是拉取最新的,image ID顾名思义就是我们镜像的ID了,created创建时间,size就是镜像的大小。
查看所有的镜像 -a
bash
docker images -a
查看镜像ID -q
在仓库里面查找redis
bash
docker search redis
查看仓库某个镜像的前五个,使用了--limit
bash
docker search --limit 5 redis
拉取镜像
冒号后面是版本号,若是不写版本号,默认是最新版latest哈
bash
docker pull redis:6.0.8
查看容器/镜像/数据卷所占内存
bash
docker system df
删除一个镜像
bash
docker rmi [-f] 镜像名字/镜像ID
rmi是remove image,这个中括号表示可选项,-f就是强制删除的意思(force)
删除成功了。
删除多个镜像
bash
docker rmi [-f] 镜像名1:TAG,镜像名2:TAG
穿插一个课外的面试题叭:
docker虚悬镜像是什么?答:仓库名和镜像名都是None 的镜像,dangling images
这种镜像建议删除
终于可以到我们的容器命令,是不是对容器(集装箱)挺好奇的,我也是!让我们揭开它神秘的面纱叭!
容器命令
Docker必须部署在Linux上,再强调一遍撒。
拉取容器
bash
docker run ubuntu
都知道,我们执行命令都是有参数可以选择的,接着我们看几个我感觉用的比较多的,还有一些就以后慢慢接触慢慢用到咱们继续补充。
bash
docker run -it ubuntu /bin/bash
查看容器信息
再另外开一个终端,因为之前的终端我们在和ubuntu交互了
bash
docker ps
bash
docker run -d ubuntu bash
运行redis就可以,因为它是可以后台运行的容器啦!
-d 参数是守护式容器,就是说后台默默守护默默运行的这种,但是有些镜像是不可以的,比如说不工作的镜像,就会创建后马上被杀死
查看所有的容器信息
所有创建过的,无论是否正在运行
bash
docker ps -a
显示一条
bash
docker ps -n 1
只显示容器ID
bash
docker ps -q
退出容器
退出容器,但容器不停止
bash
ctrl+p+q
退出容器,容器停止
bash
exit
启动已经停止的容器
bash
docker start 容器ID/容器名称
重启已经停止的容器
bash
docker restart 容器ID/容器名称
停止容器
bash
docker stop 容器ID/容器名称
删除已停止的容器
bash
docker rm 容器ID/容器名称
强制删除容器
bash
docker rm -f 容器ID/容器名称
查看日志
bash
docker logs 容器ID
查看容器内运行的进程
bash
docker top 容器ID
查看容器内部细节
bash
docker inspect 容器ID
进入正在运行的容器并以命令行交互
bash
docker exec -it 容器ID /bin/bash
一般我们使用这一个
bash
docker attach 容器ID
exec这个使用exit退出后,进程不会停止,但attach方法exit退出了,进程会停止。
从容器内拷贝内容到主机上
因为有时候怕东西被误删除了,出于安全机制,所以咱们会有一个备份的操作,将重要的东西放到主机上,当然也可以复制整个镜像文件。
bash
docker cp 容器ID:容器内路径 目的路径
导入和导出容器
导出
bash
docker export 容器ID>abcd.tar
abcd.tar就是命名,可以自己命名的,如果不指定的话,默认就是当前目录
导出
bash
cat abcd.tar | docker import-包名/镜像用户/镜像名:版本
后记
记一下,mysql也是的,我的root的账户,密码是123456,我怕我忘记了,到时候来这里找一下。
刚刚写博客被同实验室的人看见了,BB啊 ,如果文档对您有用的话,记得给我点个赞赞,这可是我写作的动力之一,你们可是很重要的呢!