筑基期

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 构建镜像,可以让应用程序在不同的环境中实现一致的运行。

results matching ""

    No results matching ""