筑基期
1. 什么是运维?运维工程师的主要职责是什么?
运维,即运作与维护,指的是对 IT
系统的日常管理、维护与优化,确保系统的稳定、安全和高效运行。
运维工作涉及硬件、网络、系统软件及应用的管理与维护。
运维工程师的主要职责
系统部署与配置:包括服务器的安装、配置和优化。
监控与故障排查:使用监控工具实时监控系统状态,及时处理故障。
安全管理:确保系统的安全性,包括权限管理、防火墙配置和漏洞修复。
备份与恢复:定期备份系统数据,确保在发生故障时能够快速恢复。
自动化运维:使用脚本和工具自动化日常任务,提高运维效率。
2. 什么是容器化技术?它与传统虚拟化技术有何区别?
容器化技术 是一种轻量级的虚拟化技术,它将应用程序及其依赖打包在一个容器中,使得应用能够在不同的环境中一致地运行。
容器通过共享操作系统内核,而不是像虚拟机一样运行整个操作系统,从而更高效地利用资源。
与传统虚拟化技术的区别
资源开销:传统虚拟化每个虚拟机都有自己的完整操作系统,资源开销较大;而容器共享宿主操作系统内核,启动更快,资源利用率更高。
启动速度:容器启动几乎是即时的,而虚拟机需要较长的启动时间。
轻量级:容器更加轻量化,能够在同一主机上运行更多的实例,便于大规模的应用部署。
3. 什么是 Docker?它的核心组件有哪些?
Docker 是一种开源的容器化平台,它允许开发人员构建、测试和部署应用程序在任何环境中运行。
Docker
提供了便捷的工具和命令行接口来管理容器、镜像和网络。
核心组件
镜像(Image):包含应用程序及其运行所需的所有依赖,是容器的基础。
容器(Container):运行时的实例,从镜像启动,包含了应用和环境的一个独立运行单元。
Dockerfile:用于定义如何构建镜像的脚本文件,包含了一系列的指令。
Docker Daemon:负责管理
Docker
容器的后台服务。Docker CLI:命令行工具,用于与
Docker Daemon
进行交互。Docker Hub:存储和分发
Docker
镜像的云服务。
4. 如何安装和配置 Docker?
Docker
可以在多个操作系统上运行,以下是 Ubuntu 上安装和配置 Docker
的示例:
更新软件包信息并安装必要的依赖
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
添加 Docker 的官方 GPG 密钥和 Docker 仓库
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
sudo add-apt-repository "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
安装 Docker
sudo apt update
sudo apt install docker-ce
启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
验证 Docker 是否安装成功
sudo docker --version
Docker
安装完成后,可以使用 docker
命令来管理容器、镜像等。
5. Docker 镜像是什么?如何构建和管理 Docker 镜像?
Docker 镜像 是一个只读的模板,其中包含了应用程序及其运行环境的所有依赖。镜像是容器的基础,通过从镜像启动,生成运行时的容器。
构建 Docker 镜像
使用 Dockerfile 定义镜像的构建步骤。
通过
docker build
命令将Dockerfile
构建为镜像。
示例 Dockerfile
# 基础镜像
FROM ubuntu:20.04
# 安装依赖
RUN apt-get update && apt-get install -y python3
# 设置工作目录
WORKDIR /app
# 复制应用文件
COPY . /app
# 运行命令
CMD ["python3", "app.py"]
构建镜像的命令
docker build -t myapp:latest .
管理 Docker 镜像
查看本地镜像:
docker images
删除镜像:
docker rmi myapp:latest
6. Docker 容器与 Docker 镜像有什么区别?如何启动和停止 Docker 容器?
Docker 镜像 是静态的、只读的应用模板,用于创建 Docker
容器,镜像可以理解为容器的蓝图
。
Docker 容器 是从镜像启动的运行时实例,包含了应用程序及其运行环境。每个容器都是隔离的,拥有自己的文件系统、网络和进程空间。
启动 Docker 容器
docker run -d -p 8080:80 --name mycontainer myapp:latest
-d
:后台运行容器。-p 8080:80
:将容器的80
端口映射到主机的8080
端口。--name mycontainer
:为容器命名。
停止 Docker 容器
docker stop mycontainer
查看运行中的容器
docker ps
7. 如何在 Docker 中使用 Dockerfile 创建自定义镜像?
Dockerfile 是一个包含了镜像构建步骤的文本文件。
通过 Dockerfile
,可以定义应用程序及其运行环境,然后使用 docker build
命令生成镜像。
示例 Dockerfile
# 使用官方的基础镜像
FROM python:3.8-slim
# 设置工作目录
WORKDIR /app
# 复制当前目录下的内容到容器内的工作目录
COPY . .
# 安装 Python 依赖
RUN pip install -r requirements.txt
# 设置容器启动时运行的命令
CMD ["python", "app.py"]
构建镜像
docker build -t my-python-app .
FROM
指定了镜像的基础环境,在这个例子中是python:3.8-slim
。WORKDIR
设置了容器内的工作目录。COPY
将当前目录的所有文件复制到容器的工作目录中。RUN
指令在镜像构建时执行,用来安装依赖。CMD
定义了容器启动时执行的默认命令。
通过 Dockerfile
构建镜像,可以让应用程序在不同的环境中实现一致的运行。