Dcoekr 构建并部署 Linux Command-属于你自己的 linux 命令行查询工具

一、Linux Command 是什么

Linux Command 是 github 上的一个开源项目,搜集了 570 多个 Linux 命令。生成了一个 web 网站方便查找命令使用,内容包含 Linux 命令手册、详解、学习,内容来自网络和网友的补充。

可以说,该仓库涵盖了大量常用的 linux 命令,如果你偶尔需要查看某条命令的详细用法,在这里查找是个不错的选择。我看是部署静态页面,那我必须做一个 Docker 镜像不可,下面就介记录一下我构建和部署的过程。

二、构建 linux-command 镜像

构建非常简单,只需要一个 dockerfile 即可,内容如下:

FROM node:14

ARG LINUX_COMMAND_VERSION

RUN git clone https://github.com/jaywcjlove/linux-command.git --depth=1 && \
cd linux-command && \
git checkout ${LINUX_COMMAND_VERSION} && \
npm i && \
npm run build

FROM nginx

COPY --from=0 /linux-command/.deploy/ /usr/share/nginx/html/

同样使用了多阶段构建的方式,如果不懂什么是多阶段构建,可以参考这篇文章,Docker 多阶段构建 SpringBoot 项目

使用 LINUX_COMMAND_VERSION 作为变量,需要构建时传递参数,这样可以根据不同的参数构建不同的镜像版本,构建命令如下:

docker build --build-arg LINUX_COMMAND_VERSION=v1.11.2 -t hausen1012/linux-command:v1.11.2 -t hausen1012/linux-command  .

同时构建了两个 tag,方便进行上传到 dockerhub。

你可能会有疑惑为什么 git clone 还要加 --depth=1 参数,--depth=1 只克隆下包含最近一次commit的一个分支。这是因为如果不加这个参数,那么克隆下来可能有几个 g 的大小,其实构建镜像只需要几 m。猜测可能是作者上传过大的文件,然后又进行了删除,所以下载就会很大,但那些文件都是没有必要的。

三、运行

非常简单,就和运行 nginx 一样。

docker run -d -p 8080:80 hausen1012/linux-command

访问 http:ip:8080 即可看见如下界面即部署成功。

AD: 【腾讯云服务器大降价】 2核4G 222元/3年 1核2G 38元/年
网站:阿蛮君博客
标题:Dcoekr 构建并部署 Linux Command-属于你自己的 linux 命令行查询工具
链接:https://www.amjun.com/473.html
本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!
THE END
分享
二维码
打赏
海报
Dcoekr 构建并部署 Linux Command-属于你自己的 linux 命令行查询工具
一、Linux Command 是什么 Linux Command 是 github 上的一个开源项目,搜集了 570 多个 Linux 命令。生成了一个 web 网站方便查找命令使用,内容包含 Linux ……
<<上一篇
下一篇>>