我尝试将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
准备中
你可以通过以下网址获取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"]
参考资料