1.什么是容器化技术?
请说出你对象容器化技术的理解
容器其实是一种沙盒技术。沙盒就是能够像一个集装箱一样,把你的应用装起来的技术。这样,应用与应用之间,就因为有了边界而不至于相互干扰;而被装进集装箱的应用,也可以被方便地搬来搬去。
2.Docker的作用?
请描述docker的作用,你使用docker可以为你解决什么问题
docker的作用:搬运软件环境,将软件做快速迁移
可以将程序及其依赖、运行环境一起打包为一个镜像,可以迁移到任意Linux操作系统
运行时利用沙箱机制形成隔离容器,各个应用互不干扰
启动、移除都可以通过一行命令完成,方便快捷
解决什么问题:9
Docker如何解决开发、测试、生产环境有差异的问题
Docker解决大型项目依赖关系复杂,不同组件依赖的兼容性问题
1、更好地利用资源;
2、为微服务定制;
3、在云服务提供商之间方便移植;
4、方便利用API端;
5、便于技术的创新。
3.docker名词解释
镜像 : image 将应用程序及其依赖、环境、配置打包在一起
容器 : container 镜像运行起来就是容器,一个镜像可以运行多个容器
镜像仓库 : repository 一个镜像托管的服务器,类似的还有阿里云镜像服务
nginx:1.20 中的nginx和1.20分别表示什么含义:
nagix表示[repository]:1.20表示 [tag] 默认是latest,代表最新版本的镜像
4.docker相关命令
请描述每一个命令的含义
镜像:
docker images 查看镜像
docker pull 镜像名:tag 从服务器拉取镜像
docker rmi 镜像名:tag 删除镜像
docker save -o Xxx.tar 镜像名:tag 镜像名:tag 保存镜像为一个压缩包
docker load -i Xxx.tar 加载压缩包为镜像
docker build -t 镜像名:tag . 构建镜像
容器:
docker run \ 创建运行一个容器
--name 容器名 \ 容器别名
-d \ 后台运行
-p 宿主机端口:容器内软件端口 \ 映射端口号
-v 数据卷名:/容器内的目录 \ 把数据卷绑定到指定容器内的目录
-v /文件夹:/容器内的文件夹 \ 把数据卷绑定到指定容器的文件夹中
-v /文件:/容器内的文件 \ 把数据卷绑定到容器内的文件
镜像名:tag 指定软件
docker ps 查看所有正在运行的所有容器
docker ps -a 查看所有运行的容器
docker logs 容器名 查看运行容器的日志信息
docker stop 容器名 停止容器运行
docker start 容器名 开启容器运行
docker rm 容器名 删除容器
docker rm -f 容器名 强制删除容器
docker update --restart=always 容器名 更新容器重启启动重启
数据卷:
docker volume create 数据卷名 创建数据卷
docker volume ls 查看所有的volume
docker volume rm 数据卷名 删除volume
docker volume prune 删除未使用的volume
docker volume inspect 显示一个或多个volume的信息
网络:
docker network create 网络名称 创建docker网络连接
docker network ls 查看docker网络连接
docker network rm 网络名称 删除网络
docker network prune 删除未使用的网络
docker network inspect 显示一个或多个network的信息
5.数据卷是什么?有什么用?如何使用?
数据卷(volume)是一个虚拟目录,指向宿主机文件系统中的某个目录。
遇到的问题?
容器与容器的文件耦合
不便于修改
维护困难
数据不可用
哪个技术可以解决问题?
数据卷
如何使用?
- docker volume create:创建数据卷
- docker volume ls:查看所有数据卷
- docker volume inspect:查看数据卷详细信息,包括关联的宿主机目录位置
- docker volume rm:删除指定数据卷
- docker volume prune:删除所有未使用的数据卷
6.Docker-Compose是什么?你怎么理解?
docker compose是一个命令行工具,是用于定义和运行多容器Docker应用程序的工具;通过Compose,开发者可以使用YML文件来配置应用程序需要的所有服务。