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