diff --git a/.travis/Dockerfile b/.travis/Dockerfile new file mode 100644 index 0000000..0a2315b --- /dev/null +++ b/.travis/Dockerfile @@ -0,0 +1,26 @@ +FROM node:9-alpine + +ENV TZ=Asia/Shanghai + +WORKDIR /srv/gitbook + +COPY book.json book.json + +COPY docker-entrypoint.sh /usr/local/bin/ + +RUN apk add --no-cache \ + tzdata \ + && npm install -g gitbook-cli \ + && gitbook install \ + && ln -s /usr/local/bin/docker-entrypoint.sh / \ + && rm -rf /root/.npm /tmp/* + +EXPOSE 4000 + +VOLUME /srv/gitbook-src + +WORKDIR /srv/gitbook-src + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD server diff --git a/.travis/book.json b/.travis/book.json new file mode 100644 index 0000000..e9e4ffe --- /dev/null +++ b/.travis/book.json @@ -0,0 +1,30 @@ +{ + "title": "Docker -- 从入门到实践", + "author": "yeasy", + "plugins": [ + "image-captions", + "github-buttons", + "page-treeview" + ], + "pluginsConfig": { + "image-captions": { + "attributes": { + "width": "600" + }, + "caption": "图 _PAGE_LEVEL_._PAGE_IMAGE_NUMBER_ - _CAPTION_" + }, + "github-buttons": { + "repo": "yeasy/docker_practice", + "types": [ + "star", + "watch" + ], + "size": "small" + }, + "page-treeview": { + "copyright": "Copyright © yeasy", + "minHeaderCount": "2", + "minHeaderDeep": "2" + } + } +} diff --git a/.travis/docker-compose.test.yml b/.travis/docker-compose.test.yml new file mode 100644 index 0000000..2e0c117 --- /dev/null +++ b/.travis/docker-compose.test.yml @@ -0,0 +1,5 @@ +sut: + build: . + volumes: + - ../:/srv/gitbook-src + command: build diff --git a/.travis/docker-entrypoint.sh b/.travis/docker-entrypoint.sh new file mode 100755 index 0000000..7302ef3 --- /dev/null +++ b/.travis/docker-entrypoint.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +START=`date "+%F %T"` + +if [ $1 = "sh" ];then sh ; exit 0; fi + +rm -rf node_modules _book + +cp -a . ../gitbook + +cd ../gitbook + +main(){ + if [ "$1" = build ];then gitbook build; cp -a _book ../gitbook-src; echo $START; date "+%F %T"; exit 0; fi + gitbook serve + exit 0 +} + +main $1 $2 $3 diff --git a/.travis/update.sh b/.travis/update.sh new file mode 100755 index 0000000..7139343 --- /dev/null +++ b/.travis/update.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +# cd .travis +# ./update.sh + +if [ ! -f Dockerfile ];then exit 1; fi + +cp -a ../book.json book.json diff --git a/README.md b/README.md index 99147cd..f7c287c 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,18 @@ * pdf 版本 [下载](https://www.gitbook.com/download/pdf/book/yeasy/docker_practice) * epub 版本 [下载](https://www.gitbook.com/download/epub/book/yeasy/docker_practice) +离线阅读: + +```bash +$ git clone -b bump-0.8 --depth=1 https://github.com/yeasy/docker_practice.git + +$ cd docker_practice + +$ docker-compose pull # 如果您位于国外,这一步请改为 $ docker-compose build + +$ docker-compose up +``` + Docker 自身仍在快速发展中,生态环境也在蓬勃成长。欢迎参与维护项目:[如何贡献](contribute.md)。 * [修订记录](revision.md) diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..a50914a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,11 @@ +version: "3" +services: + + docker_practice: + build: ./.travis + image: ccr.ccs.tencentyun.com/docker_practice/docker_practice:latest + ports: + - 4000:4000 + volumes: + - ./:/srv/gitbook-src + command: server