我最近开始在简单的环境中使用Docker
。
我已经使用静态网站生成器gatsbyJS创建了一个简单的博客。
我已经用docker容器化了我的应用程序:
//Dockerfile
FROM node:11.9.0
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
RUN npm install -g gatsby-cli
COPY . .
EXPOSE 8000
CMD ["gatsby", "develop", "-H", "0.0.0.0"]
一切都已推送并部署到我的服务器上,并且可以正常工作。
每篇博文都是gatsbyjs读取的markdown文件。
我的理解是,当我所有的应用程序都准备就绪(javascript,css等)时,我唯一要更新的就是我添加新帖子时我的帖子(markdown文件)所在的存储库。
我认为要采用的工作流程如下:
我是否仅需要为添加的新博客帖子重新创建新图像和容器?
当推送更改时,如何在服务器中触发这些动作?我应该使用哪些工具?
答案 0 :(得分:1)
要触发推送事件,可以使用钩子。
https://githooks.com/
如果您不想每次添加博客文章时都构建新图像,则可以将 markdowns 路径映射到主机。这样,您只需将新的markdown文件放入主机上的映射卷中,容器即可使用它。
https://docs.docker.com/storage/volumes/
示例:
在运行订单中添加以下选项。
docker run ... -v / docker / data /...:/ data
希望这会有所帮助。