运维之美

种一棵树最好的时间是十年前,其次是现在。

巧用 Docker 快速部署 GPU 的基础环境

在 Linux 服务器上使用 GPU 跑深度学习的模型很正常不过。如果我们想用 Docker 实现同样的需求,就需要做些额外的工作。本质上就是我们要在容器里能看到并且使用宿主机上的显卡。 在这篇文章里我们就介绍一下 Docker 使用 GPU 的环境搭建。 Nvidia 驱动 某些命令以 Ubuntu 作为示例。 首先宿主机上必现安装 Nvidia 驱动。 这里推荐从 Nvidia 官网下载......

如何在 Kubernetes 集群中集成 Kata

1. Kata 解决什么问题 安全性和隔离性是 Kata Container 显著区别于 Docker Container 的地方。 Kata Container 来源于 Intel Clear Containers 和 Hyper runV 项目的合并。Intel Clear Containers 借助 Intel VT-x 技术使用轻量级虚拟机提供容器,解决安全性问题,同时性能优异。而 ......

巧用 Nsenter 调取宿主机工具调试容器内程序

nsenter 是一个可以用来进入到目标程序所在 Namespace 中运行命令的工具,一般常用于在宿主机上调试容器中运行的程序。 nsenter 安装 nsenter 位于 util-linux 包中,一般常用的 Linux 发行版都已经默认安装。如果你的系统没有安装,可以使用以下命令进行安装: 1$ yum install util-linux nsenter 用途 一个比较典型的用途就......

几种常用 Python 包管理工具配置国内 PyPI 镜像源的方法

不论是使用 pip,还是 Pipenv、Poetry 等工具,安装 Python 包的时候会默认从官方的 PyPI 源下载文件,速度比较慢。国内的一些公司和机构提供了 PyPI 镜像源(mirror source),你可以设置让这些工具从国内的镜像源安装 Python 包,以便提高下载速度。 官方 PyPI 源的 URL 为 https://pypi.org/simple (旧的 URL 为......

10 个冷门但又非常实用的 Docker 使用技巧

在平时的工作中,docker 接触得很多,除了经常使用的 docker run ,docker stop 等命令,docker 还有很多十分有用但是却不经常使用的命令,下面就来总结一下: 1. docker top 这个命令是用来查看一个容器里面的进程信息的,比如你想查看一个 nginx 容器里面有几个 nginx 进程的时候,就可以这么做: 1234➜ ~ docker top 3b30......

GitHub 镜像仓库服务 Ghcr 快速上手教程

Github Container Registry 9 月 1 日,GitHub 宣布 Github Container Registry 开始公测,测试期间提供免费、无限容量的 Docker 镜像仓库服务。 再也不用担心,docker.io 一言不合清理镜像了。真好真香! GitHub 正在以托管代码仓库为切入点,逐步覆盖整个研发工具链,打造一站式 DevOps 平台。项目管理有 Issu......

Nali:一个离线查询 IP 地理信息和 CDN 提供商的终端利器

什么是 Nali dig、nslookup、traceroute 等都是非常实用的网络调试工具,Nali 是一个可以自动解析这些工具 stdout 中的 IP 并附上所属 ISP 和地理信息,对这些已是瑞士军刀般的工具可谓如虎添翼。 Nali 取自中文「哪里」。Nali 一开始是数年前由 surfchen 用 C 和 Perl 写成的小工具(C 用于解析纯真 IP 数据库,Perl 用于解析......

分享两个冷门但又超实用的 VIM 使用技巧

最近在使用 VIM 时遇到两个新的问题,觉得还很挺有价值的。现在将处理方法总结后,分享给大家。 VIM 中 delete(backspace)键不能向左删除 MacOS 下打开 vim 编辑文本,进入插入模式,要删除编辑之前的保存过的几个字符,按下 delete 键删除它们,万万没想到呀!只听到 "duang duang duang”,竟然无效! 有一点先明确一下,在 Mac 的键......

新一代 Python 项目环境与依赖管理工具 Pipenv 入门教程

Python 开发中一般会使用 Virtualenv、Pip 管理项目运行环境与依赖。在创建一个新项目时先使用 Virtualenv 创建一个虚拟运行环境,然后使用 Pip 安装依赖,最后使用 pip freeze > requirements.txt 记录项目依赖。这个过程中会遇到一些问题: 版本信息没有保存 升级依赖包时需要先查看requirements.txt 开发环境与生产环......

推荐一款自动更新 Docker 镜像与容器的神器 Watchtower

前言 Docker 容器的部署有一种在手机上装 App 的感觉,但 Docker 容器并不会像手机 App 那样会自动更新,而如果我们需要更新容器一般需要以下四个步骤: 停止容器:docker stop <CONTAINER> 删除容器:docker rm <CONTAINER> 更新镜像:docker pull <IMAGE> 启动容器:docker ......