docker练习题
·
第一章 容器介绍
- 什么是容器?
通过命名空间与cgroups实现容器隔离与资源限制,是基于镜像只读层与顶层可写层运行的进程 - 容器的本质是什么?
宿主机上的进程 - 容器可以直接运行在物理机上吗? 容器可以运行在虚拟机上吗?
都可以 - 什么是docker? 优势是什么?
docker是一款部署容器的工具, 同时为容器的运行提供环境
一次构建, 多次部署
实现容器隔离
节省资源 - docker的特性是什么?
隔离性: 每个容器拥有独立的文件系统, 网络以及进程, 并且容器与容器之间是独立的
可度量性: 通过cgroups控制组来控制容器资源的分配, 避免资源异常占用
可移植性: 通过AUFS来实现对容器的快速更新 - 容器与虚拟机的区别是什么?
虚拟机: 有独立内核与操作系统
容器: 无独立内核, 是宿主机上的进程
第二章 容器基本概念 - docker的服务组成是什么? 作用分别是什么?
docker服务端: 管理所有容器
docker客户端: 是docker服务端的远程控制器 - docker的组件都有什么?
仓库: 存放docker镜像, 分为公有仓库与私有仓库
镜像: 是docker容器运行时的只读模板, 每一个镜像由一系列层组成
容器: 通过命名空间与cgroups实现容器隔离与资源限制,是基于镜像只读层与顶层可写层运行的进程 - 对docker容器的修改, 会影响原本docker镜像吗?
不会 - docker容器的运行, 依赖docker镜像吗?
依赖 - 什么是基础镜像?
指该镜像没有父镜像 - docker镜像名称的组成是什么?
镜像仓库地址
镜像名
镜像标签(版本) - docker容器由什么组成? 作用分别是什么?
命名空间(namespace): 是基于Linux内核的资源隔离机制,是 Docker容器实现隔离的核心技术
资源限制(cgroups): 规定容器的资源大小, 避免资源的异常占用
文件系统: 是容器的文件系统, 所有对容器的写操作, 都会被记录在文件系统中 - 镜像与容器的关系是什么?
镜像是容器运行的基础, 容器是镜像启动后的进程 - docker容器是在镜像层的基础上增加了可写层吗? docker容器的可写层, 是运行在cpu上的进程吗?
是的
是的 - docker容器的状态都有什么?
create: 仅创建容器, 没有启动
running: 容器处于运行中
exited: 容器处于停止状态 - docker容器由运行状态到停止状态, 这期间对容器内的写操作, 都会被写入容器的文件系统吗?
对的 - docker容器中, 进程之间的交互方法都有什么?
共享内存
信号量
socket
管道
第三章 镜像管理 - 检索仓库中指定服务的镜像使用什么命令?
docker search 仓库地址/镜像名 - 查看本地镜像使用什么命令?
docker images - 拉取镜像是什么命令?
docker pull 仓库地址/镜像名:版本 - 删除镜像使用什么命令?
docker rmi 仓库地址/镜像名:版本 - 查看镜像详细信息使用什么命令?
docker inspect 仓库地址/镜像名:版本 - 修改镜像标签与名称使用什么命令?
docker tag docker.1ms.run/nginx:latest nginx:v1
第四章 容器管理 - 在启动容器时, 进入容器的shell, 若容器没有/bin/bash, 那么使用什么进入容器的shell ?
/bin/sh - 查看当前宿主机上容器的进程使用什么命令?
docker ps -a - 若容器处于创建状态, 启动该容器使用什么命令?
docker start nginx1 - 前台启动容器使用什么命令?
docker run -it --name nginx1 docker.1ms.run/nginx:latest /bin/bash - 后台启动容器需要加shell吗?
不需要 - 后台启动容器使用什么命令?
docker run -itd --name nginx1 docker.1ms.run/nginx:latest - 在创建并启动容器时, 没有指定容器名称, 那么该容器名称会自动分配吗?
对的 - 容器处于运行状态, 通过宿主机正常关闭容器使用什么命令?
docker stop 容器名称 - 容器处于运行状态, 通过宿主机强制关闭容器使用什么命令?
docker kill 容器名称 - 在创建并启动容器时, 若需要容器的启动根据docker服务的启动而启动, 是用什么参数
–restart=always - 对于docker容器来说, exit命令与ctrl+p+q命令的有什么共同点, 有什么不同点?
相同点: 都在容器内部执行, 不在宿主机上执行
不同点: exit为退出容器并停止容器运行, ctrl+p+q表示仅退出 - 查看容器详细信息使用什么命令?
docker inspect 容器名 - 删除容器前需要将容器先停止吗?
对的 - 删除容器使用什么命令?
docker rm 容器名称 - 连接运行状态的容器使用什么命令?
docker exec -it nginx1 /bin/bash - 动态查看容器的日志使用什么命令?
docker logs -f nginx1 - 查看容器退出时的状态码, 使用什么命令?
docker wait nginx1 - 容器的退出状态码, 0和其他数字分别表示什么?
0: 正常退出
非0: 非正常退出 - 宿主机与容器进行文件的拷贝使用什么命令? 目录拷贝使用什么参数?
docker cp /root/1.txt nginx1:/tmp
目录使用 -a
第五章 容器打包 - 什么是容器的打包?
将正在运行的容器压缩为tar包 - 将容器进行打包使用什么命令?
docker export nginx1 > nginx.tar - 将打包后的容器, 恢复为镜像使用什么命令? 运行该镜像使用什么命令?
docker run -itd --name latest nginx:latest nginx -g “daemon off;”
docker import nginx.tar nginx:v2 - 将容器提交为本地镜像使用什么命令?
docker commit nginx1 nginx:v3 - 将镜像打包使用什么命令?
docker save -o nginx1.tar nginx:v3 - 导入打包后的镜像使用什么命令?
docker load < nginx1.tar - docker制作镜像使用什么命令?
docker build -t nginx:v7 -f dockerfile路径 - 制作docker镜像时, dockerfile中每一行命令的运行逻辑是什么?
启动上一个容器, 执行命令, 退出容器 - 制作docker镜像时, dockerfile中都会用到哪些命令? 作用分别是什么?
FROM: 指定基本镜像
MAINTAINER: 指定镜像作者
WORK: 指定工作目录
ENV: 指定环境变量
RUN: 指定运行命令
ADD: 文件拷贝, 并自动解压
EXPOSE: 定义容器中服务的端口
ENTRYPOINT: 容器启动时, 执行的命令或脚本
CMD: 容器启动时, 执行的命令或脚本 - dockerfile中, entrypoint与cmd的区别是什么?
cmd: 受容器启动时影响, 可以被启动容器中的命令替换
entrypoint: 不受容器启动时影响, 无法被启动容器中的命令替换, 除非强制替换 - 若想在启动容器时, 强制替换entrypoint中的指令, 使用什么参数
–entrypoint 命令 - 轻量化的镜像, 含有什么单词?
alpine - 清理yum缓存, 使用什么命令?
yum clean all
第六章 私有化仓库 - 在为私有化仓库推送镜像前, 需要做什么?
将镜像的registry改为, 私有仓库宿主机ip:端口/镜像名 - 私有化仓库中, 将https协议改为http协议怎么配置?
私有化仓库的宿主机上创建/etc/docker/daemon.json文件
文件中添加 “insecure-registries”:[“192.168.255.130:5000”] - 其他宿主机上的镜像上传到该仓库, 怎么操作
修改镜像名
在/etc/docker/daemon.ljson中配置insecure-registries - 为仓库推送镜像, 使用什么命令?
docker push 镜像名:版本 - 在私有仓库拉取镜像, 使用什么命令?
docker pull 镜像名:版本 - 查看私有仓库的镜像使用什么命令?
curl http://192.168.255.130:5000/v2/_catalog - 查看指定镜像的详细信息使用什么命令?
curl 192.168.255.130:5000/v2/nginx/tags/list
第七章 docker资源限制 - 什么是docker的资源限制?
通过cgroup控制组, 来管理容器对cpu, 内存与磁盘资源的使用, 避免容器对资源的异常占用 - docker资源限制的作用是什么?
合理的为容器分配硬件资源, 便于管理
防止恶意攻击异常 - docker容器资源限制的方式都有什么?
cpu资源限制
内存资源限制
磁盘资源限制 - docker的cpu资源限制, 可以指定容器占用cpu的确定值吗?
不可以 - cpu资源限制的默认cpu share是多少?
1024 - 若一台宿主机上, 每个容器的cpus核数之和大于宿主机的cpu核数, 容器会退出或失败吗?
不会 - docker默认对容器的内存有资源限制吗?
没有, 可以使用宿主机的所有内存 - cpu资源限制的方式都有什么?
指定容器cpu权重
指定cpu可使用核数
绑定cpu - 容器内存限制使用什么参数?
启动是使用 -m 64M
第八章 端口映射 - 什么是docker的端口映射?
让外部能够通过宿主机端口访问容器内的服务 - 容器端口映射的方式都有什么?
指定端口映射 -p 50:50
随机端口映射 -P - 查看容器端口映射使用什么命令?
docker ps -a
第九章 容器卷 - 什么是docker的容器卷?
将宿主机上的某一目录挂载到容器中的指定目录, 实现将宿主与容器之间的数据共享 - 配置容器卷使用什么参数?
-v 宿主机目录:容器目录
第十章 docker的数据存储位置 - docker默认的数据存放路径是什么?
/var/lib/docker - 怎么查看docker的数据存放路径?
docker info | grep Root - 怎么修改docker的数据存放路径?
vim /usr/lib/systemd/system/docker.service
–data-root=/data
systemctl restart docker
第十一章 - docker支持的网络类型都有什么?
桥接模式: 每个容器有独立ip, 连在docker0的网桥上
none模式: 没有网络
仅主机模式: 容器共用宿主机网络 - docker容器默认的网络类型是什么?
桥接模式 - 桥接模式的特点是什么?
容器之间可以通过ip互相访问
外部通过端口映射访问容器提供的服务 - 容器默认的网段是什么?
172.17.0 - 容器启动时怎么指定桥接模式?
-p 80:80 - 仅主机网络模式的特点是什么?
直接使用宿主机ip:port, 访问容器服务
容易与宿主机端口产生冲突 - 在容器启动时, 怎么指定网络为仅主机模式?
–network=host - none网络模式的特点是什么?
完全隔离, 容器之间, 容器与宿主机之间无法通信 - 在容器启动时, 怎么指定网络模式为none模式?
–network=none - 怎么查看容器的网络信息?
docker inspecrt 容器名
更多推荐


所有评论(0)