我尝试将Qiita CLI转化为Docker容器!

为了什么。

目的是为了在任何地方使用Docker来构建Qiita CLI环境,以便编辑Qiita的文章。

太长不看

FROM ubuntu:20.04
RUN apt-get -y update && apt-get -y install git nano vim curl
RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && apt-get install -y nodejs
RUN mkdir -p /etc/qiita
WORKDIR /etc/qiita
RUN npm install @qiita/qiita-cli --save-dev
RUN npx qiita version
RUN npm install @qiita/qiita-cli@latest
RUN npx qiita init
RUN sed -e "s/localhost/qiita/g" -i /etc/qiita/node_modules/@qiita/qiita-cli/dist/server/app.js
RUN echo "____YOUR___Qiita___TOKEN___" | npx qiita login
ENTRYPOINT ["npx","qiita","preview"]
version: '3'
services:

  qiita:
    container_name: qiita
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 8888:8888
    restart: always
    volumes:
    - ./qiita/:/etc/qiita/public/
    environment:
      TZ: Asia/Tokyo

启动

root@shoma:/home/shoma/qiita# docker-compose up
qiita is up-to-date
Attaching to qiita
qiita    | Preview: http://qiita:8888
image.png

准备中

你可以通过以下网址获取Qiita的令牌。

 

在个人设置中的应用程序选项中生成个人访问令牌。
将令牌权限设置为“read_qiita”和“write_qiita”。

讲解

基于Ubuntu的基础镜像被使用,然后安装其他必要的组件。

FROM ubuntu:20.04
RUN apt-get -y update && apt-get -y install git nano vim curl

建立Node.js环境

RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && apt-get install -y nodejs

创建/指定工作目录

RUN mkdir -p /etc/qiita
WORKDIR /etc/qiita

安装 Qiita-cli

RUN npm install @qiita/qiita-cli --save-dev
RUN npx qiita version
RUN npm install @qiita/qiita-cli@latest
RUN npx qiita init

为了使qiita-cli能够在外部访问,可以通过使用容器名称进行解析,并在其上设置名为“docker-compose”的端口转发。这样一来,qiita-cli将不再限制在localhost上。

RUN sed -e "s/localhost/qiita/g" -i /etc/qiita/node_modules/@qiita/qiita-cli/dist/server/app.js

令牌的设置

RUN echo "____YOUR___Qiita___TOKEN___" | npx qiita login

在容器启动时执行预览功能。

ENTRYPOINT ["npx","qiita","preview"]

参考资料

 

广告
将在 10 秒后关闭
bannerAds