下文是笔者讲述最全的Docker面试题,如下所示
Docker简介
Docker是一个容器化平台
它以容器的形式将你的应用程序及所有的依赖项打包在一起
以确保你的应用程序在任何环境中无缝运行
Docker容器可方便程序的部署,使运维人员无需关心应用的运行环境
可达到快捷部署的目的
Docker镜像指什么呢?
Docker镜像是Docker容器的源代码
通常我们定义一个Dockerfile文件,然后使用docker build文件生成docker image
即可生成Docker镜像
Docker容器简介说明
Docker容器包括应用程序及所有的依赖项
Docker容器作为操作系统的独立进程运行
Docker容器有几种状态
Docker容器的状态有以下几种:
运行
已停止
重新启动
已退出
DockerFile是用于生成Docker镜像的文件定义,常用指令如下
指令 | 备注 |
FROM | 指定基础镜像 |
LABEL | 功能为镜像指定标签 |
RUN | 运行指定命令 |
CMD | 容器启动时要运行的命令 |
DockerFile中的命令COPY和ADD命令的区别说明
COPY和ADD区别:
COPY的SRC只能是本地文件
其他用法一致
Docker的常用命令
命令 | 备注 |
docker pull | 拉去或更新指定的镜像 |
docker push | 将镜像推送到远程仓库 |
docker rm | 删除容器 |
docker rmi | 删除镜像 |
docker images | 列出所有镜像 |
docker ps | 列出所有容器 |
容器与主机之间的数据拷贝命令简介说明
容器和主机之间文件互相复制命令,我们采用docker cp即可
例:
主机到容器:docker cp /www 容器id:/www/
容器到主机:docker cp 容器id:/www /tmp
启动nginx容器(随机端口映射),并挂载本地文件目录到容器html的命令
Docker run -d -p --name nginx -v /home/nginx:/usr/share/nginx/html nginx
dockerfile中ONBUILD指令具有什么功能呢
ONBUILD指令在构建一个有继承的Dockerfile文件时,父镜像在被子镜像继承后,父镜像的ONBUILD指令被触发(触发指令,类似一个触发器)
docker Swarm是什么呢?
Docker Swarm是docker的本地群集
它将docker主机池转变为单个虚拟docker主机
Docjer Swarm提供标准的docker API
任何已经与docker守护进程通信的工具
都可以使用Swarm透明地扩展到多个主机
监控docker有哪些方法呢?
Docker提供docker:
stats和docker事件等工具来监控生产中的docker
可使用这些命令获取重要统计数据的报告。
Docker统计数据:
当我们使用容器ID调用docker stats时
我们获得容器的CPU,内存使用情况等
它类似于Linux中的top命令。
Docker事件:
docker事件是一个命令
用于查看docker守护程序中正在进行的活动流
一些常见的docker事件是:attach,commit,die,detach,rename,destroy等
我们还可以使用各种选项来限制或过滤我们感性其的事件