目录
docker images --digests --no-trunc
-
Docker底层原理
前言:Docker是Client-Server结构的系统,Docker守护进程运行在主机上,然后通过Socket连接从客户端访问,守护进程从客户端接收命令并管理运行在主机上的容器。容器,是一个运行时环境,就是我们前面说到的集装箱。
Docker是怎么工作的?
为什么Docker比虚拟机快?
-
Docker常用命令
-
帮助命令
docker version
docker info(前提:必须在docker 启动的情况下,才会有返回结果,启动命令 sudo systemctl start docker)
docker -help
-
镜像命令
前言:镜像相当于类,可以生成多个容器。
-
本节点内容
-
docker images 某个XX镜像的名字
> sudo systemctl start docker(启动容器的前提下)
> docker images
返回结果如下图:
解析:
-
docker -a
> docker images -a
返回结果如下图:
解析:
- -a 相当于all
- 镜像Image可以把它当成千层饼,像花卷一样一层套一层,如果TAG下面显示的是<none>,比如说手里拿的是鸡蛋,你直接接触的是鸡蛋的壳,里面还有蛋黄和蛋白,上述返回的信息就是最外面暴露的就是hello-world
-
docker images -aq
> docker images -qa
返回结果如下图:
解析:
显示当前所有镜像的image id
-
docker --digests
> docker --digests
返回结果如下图:
-
docker images --digests --no-trunc
> docker images --digests --no-trunc
返回结果如下图:
-
docker search
-
本节点内容
> docker search
注意:你可能在执行的时候,docker search tomcat可能会无返回!如果配置没有问题,只需要再等待一会再次执行即可![OPTIONS]表示可以省略。
疑问:search是什么意思呢?是去https://hub.docker.com中查询!如果您注册了阿里云账号,并且已经在配置中修改成阿里云加速器,搜索是在搜索,但是下载是从阿里云下载!!!
返回结果如下图:
如果在hub中搜索,tomcat点进去会有docker pull tomcat
删选镜像命令
3.总结
> docker search [OPTIONS] 镜像名字 > docker search [-s 30] tomcat > docker search --automated tomcat
-
docker pull 某个XX镜像的名字
-
本节点内容
-
docker pull tomcat
> docker pull tomcat --下载镜像等价于docker pull tomcat:latest
-- public class Book 等价于 public class Book extends Object
-
docker rmi 某个XX镜像的名字
-
本节点内容
> docker rmi hello-world > docker rmi -f hello-world --删除单个 > docker pull hello-world > docker images > docker pull ngnix > docker rmi -f hello world ngnix --删除多个 > docker images -qa --显示当前所有镜像的image id > docker rmi -f $(docker images -qa)-- sql 删除类似where uid in(uid1,uid2)
返回结果如下图:
-
容器命令上
前言:有镜像才会有容器,这里就不必多说了,之前我们一直操作宿主机是Win7,又上面安装VMA,其VMA安装了Linux,Linux上面安装了Docker或者Nginx,现在我们从hub上搜索Cent.OS,从aliyun上面下载CentOS,这个和之前不一样哦,也就是说Docker既可以安装tomcat或者Nginx,也可以安装CentOS。
-
本节点内容
-
新建并启动 docker pull centos
[root@192 ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
729ec3a6ada3: Pull complete
Digest: sha256:f94c1d992c193b3dc09e297ffd54d8a4f1dc946c37cbeceb26d35ce1647f88d9
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
[root@192 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0f3e07c0138f 3 months ago 220MB
-- 可以看到的是size是200MB,我们的本地CentOS镜像是4GB左右,所以这个是精简的Linux系统,快!
[root@192 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0f3e07c0138f 3 months ago 220MB
[root@192 ~]# docker run -it centos // i是交互,t代表伪终端
// 假设你登录docker里面的centos,登录成功以后怎么通知docker我要和你交互,以下的ls等命令,相当于你在docker的centos里面自动打开终端命令窗口输入各种命令
// centos为模板,生成了@56...的容器,如下返回结果为568db13fab74,568db13fab74可以把它看成对象的一个地址。
[root@568db13fab74 /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@568db13fab74 /]# pwd
/ //表示在centos 的根目录之下
[root@568db13fab74 /]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 08:00 pts/0 00:00:00 /bin/bash
root 16 1 0 08:08 pts/0 00:00:00 ps -ef
// Linux里面查询查询所有进程ps -ef,docker里面的所有进程(鲸鱼背上的所有集装箱有哪些?)docker ps
[root@192 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@192 ~]#
-
列出当前所有正在运行的容器
-- ps linux的当前全部进程
--docker ps 是docker里面运行的全部进程
[root@192 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0f3e07c0138f 3 months ago 220MB
// 查询当前docker所有镜像
[root@192 ~]# ps
PID TTY TIME CMD
26925 pts/1 00:00:00 bash
27067 pts/1 00:00:00 ps
// 查询当前Linux正在执行的进程
[root@192 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9de461d39652 0f3e07c0138f "/bin/bash" 15 minutes ago Up 15 minutes relaxed_keldysh
// 查询当前Docker正在执行的进程,即鲸鱼背上有哪几个集装箱,docker哪个镜像在跑
-
退出容器
-
启动容器
-
本节点内容
[root@9de461d39652 /]# exit
exit
// 退出并且关闭容器
[root@192 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@192 ~]# docker ps -l // 查看上一个容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9de461d39652 0f3e07c0138f "/bin/bash" 21 minutes ago Exited (0) 2 minutes ago relaxed_keldysh
[root@192 ~]# docker ps -a // 当前运行和过往的
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9de461d39652 0f3e07c0138f "/bin/bash" 22 minutes ago Exited (0) 2 minutes ago relaxed_keldysh
568db13fab74 centos "/bin/bash" 35 minutes ago Exited (127) 24 minutes ago charming_dirac
403314d42320 fce289e99eb9 "/hello" 20 hours ago Exited (0) 20 hours ago exciting_satoshi
[root@192 ~]# docker ps -n 3 // 上3次运行过的显示出来
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9de461d39652 0f3e07c0138f "/bin/bash" 23 minutes ago Exited (0) 3 minutes ago relaxed_keldysh
568db13fab74 centos "/bin/bash" 36 minutes ago Exited (127) 25 minutes ago charming_dirac
403314d42320 fce289e99eb9 "/hello" 20 hours ago Exited (0) 20 hours ago exciting_satoshi
[root@192 ~]# docker ps -q // 只显示容器编号
[root@192 ~]# docker ps -l // 查看上一个容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9de461d39652 0f3e07c0138f "/bin/bash" 24 minutes ago Exited (0) 4 minutes ago relaxed_keldysh
[root@192 ~]# docker ps -lq // 查看上一个容器的容器编号
9de461d39652
[root@192 ~]#
-
重启容器、停止容器、强制停止容器、删除已停止容器