一、运行 node 容器
参考:
1、https://www.jianshu.com/p/c9ba33d4e3a0
2、https://www.jianshu.com/p/eac30096d8a0
3、http://gitbook.hushuang.me/ebook.html
二、用 root 权限进入&退出容器
进入:docker exec -ti -u root CONTAINER ID /bin/bash
退出:ctrl + p + q
三、安装calibre
方法1:在容器中依次执行命令
apt-get update
apt-get install -y calibre nodejs-legacy
apt-get clean
apt-get autoclean
npm install gitbook-cli -g
-
npm install svgexport -g
:失败 gitbook fetch 3.2.0
npm cache clear --force
方法2:使用Dockerfile来创建镜像再运行容器
1、创建Dockerfile
文件
FROM node:12.2.0
MAINTAINER testName <test@test.com>
ARG VERSION=3.2.0
ARG APP_DIR="/app"
LABEL version=$VERSION
# add dependent packages
RUN npm install gitbook-cli -g \
&& apt-get update && apt-get install -y calibre nodejs-legacy \
&& apt-get clean && apt-get autoclean \
#&& npm install svgexport -g \
&& gitbook fetch ${VERSION} \
&& npm cache clear --force \
&& rm -rf /tmp/*
WORKDIR $APP_DIR
#WORKDIR /srv/gitbook
VOLUME $APP_DIR /srv/html
EXPOSE 4000 35729
#CMD /usr/local/bin/gitbook serve
CMD [ "sleep infinity" ]
2、使用docker build . -t gitbook:3.2.0
命令创建镜像
3、运行容器
方法一:docker run -p 4004:4000 -v /d/Docker/Container_Data/gitbook/app:/app --name MyGitbook -d --restart=always gitbook:3.2.0 sleep infinity
docker run -p 4000:4000 -v /d/Docker/Container_Data/gitbook/:/srv/gitbook --name gitbook -d --restart=always linimbus/gitbook_tools
方法二:创建文件docker-compose.yml
,在文件所在目录执行docker-compose up -d
version: '3'
services:
gitbook:
image: gitbook
container_name: gitbook
#working_dir: /srv/gitbook
environment:
- NODE_ENV=production
volumes:
- ./:/srv/gitbook
ports:
- 4000:4000
restart: always
command: "sleep infinity"
4、gitbook pdf .
成功发布