18 个版本 (7 个稳定版)
2.0.1 | 2024 年 5 月 15 日 |
---|---|
1.2.1 | 2023 年 7 月 20 日 |
1.0.1 | 2023 年 4 月 18 日 |
1.0.0 | 2022 年 9 月 12 日 |
0.4.1 | 2019 年 11 月 12 日 |
#39 in 命令行工具
每月 1,064 次下载
310KB
1.5K SLoC
floki
Floki 最初是一个造船匠。现在,Floki 帮助您管理软件构建的交互式容器。
什么是 floki?
Docker 和 Kubernetes 是运行软件的绝佳方式,通常方便使用相同的容器以交互式方式获取可重复且完整的构建环境。但是,使用这些容器进行开发并不总是那么简单。
floki
的目标是通过改进启动和使用交互式 Docker 容器的用户体验来提高人类的界面。您不需要记住或构建复杂的 docker run
命令,也不需要编写自定义脚本来启动 Docker 容器,只需在配置文件中指定您需要从 Docker 容器中获取的内容。然后,只需运行 floki
,即可获得您所需的环境。它不替代 Docker 或 Kubernetes,而是作为一种补充,旨在改进在代码库上工作的用户界面。
与通常的方法(自定义脚本或更常见的是,让用户自行解决)相比,它具有以下优点:
- 立即获得构建环境
- 更容易共享和引入新开发者
- 提供一个一致和统一的接口以获取工作环境
文档
有关安装和基本用法,请参阅 入门。
完整文档可在此处找到 这里。
快速入门
此部分假设您已根据以下安装说明安装了 floki
。
假设我们想要一个基于 alpine:latest
的构建环境,其中包含 C 编译器和 clang
工具。假设我们还想从主机获得 SSH 凭据,这样我们就可以例如,使用私有 Git 服务器进行认证。
首先创建您的 Dockerfile
FROM alpine:latest
RUN apk update && apk add alpine-sdk clang openssh
然后,将名为 floki.yaml
的文件添加到您的代码库的根目录
image:
build:
name: hello-floki
forward_ssh_agent: true
init:
- echo "Welcome to the hello-floki build container"
现在运行 floki
。您应该看到 Docker 容器正在构建,然后您将被放入一个 shell 中。如果您在运行 floki
之前在主机上运行了 ssh-agent
,则可以运行 ssh-add -l
,您应该看到与主机上相同的密钥被加载。
安装
先决条件
建议您将您的用户添加到 docker
组
$ sudo usermod -a -G docker USERNAME
并注销并重新登录以应用更改。
或者您可以在安装后使用 floki
运行 sudo -E floki
。
从预构建的二进制文件安装
预编译的二进制文件可以从发行页面下载(适用于 Linux 和 OSX)。
要获取 curl
并在您的 shell 中直接提取最新的 Linux 二进制文件,请运行
$ curl -L https://github.com/Metaswitch/floki/releases/download/2.0.1/floki-2.0.1-linux.tar.gz | tar xzvf -
您应该能够从您的工作目录运行 floki
$ ./floki --version
floki 2.0.1
将其移动到您的路径中,以便从任何地方运行它。例如。
$ mv floki /usr/local/bin/
享受吧!
从 cargo 安装
floki
还可以直接从 cargo
安装。
$ cargo install floki
实用功能
- 转发
ssh-agent
(用于验证远程私有 Git 服务器以拉取私有依赖项) - 支持 Docker-in-Docker
- 转发主机用户信息(允许添加和使用非 root 用户)。
- 卷(共享或按项目)例如用于构建缓存。
贡献
贡献者需要在他们的提交上签字以承认 DCO
待办事项
查看问题。
依赖项
~14–24MB
~343K SLoC