docker-compose 安装Ghost

Ghost应用基于Docker的部署与操作
该博客介绍了Ghost应用基于Docker的部署过程。首先说明了依赖,包括ghost、nginx和mysql;接着阐述准备工作,涉及数据和配置文件存放;然后给出相关文件内容,如ghost、nginx和docker - compose的文件;最后提及构建、运行、停止和删除操作。

一、依赖

    1、ghost:latest     应用程序

    2、nginx:latest    监听80端口将请求转发到ghost 处理

   3、mysql:5.7.15   ghost 的数据存储

二、准备工作

    1、data 存放mysql 数据与日志相关

    2、ghost存放Dockerfile文件与config.js

    3、nginx存放Dockerfile文件与nginx.conf

mkdir -p /data/docker/ghost/data

mkdir -p /data/docker/ghost/ghost
cd /date/docker/ghost
touch Dockerfile
touch config.js

mkdir -p /data/docker/ghost/ngix
cd /data/docker/nginx
touch Dockerfiler
touch nginx.conf

cd /data/docker/ghost
touch docker-compose.yml


三、相关文件内容

    1、ghost

        Dockerfile

FROM ghost
COPY ./config.js /var/lib/ghost/content/config.js
EXPOSE 2368

         config.js

var path = require(‘path’),
config;
config={
        production: {
                url: 'http://mytestblog.com',
                mail: {},
                database: {
                        client: 'mysql',
                        connection:  {
                                host: 'db',
                                user: 'ghost',
                                password: 'ghost',
                                database: 'ghost',
                                port: '3306',
                                charset: 'utf-8'
                        },
                        debug: false
                }
                paths: {
                        contentPath:path.join(process.evn.GHOST_CONTENT,'/')
                },
                server:{
                        host:'0.0.0.0',
                        port:'2368'
                }
        }
};
module.exports=config

    2、nginx 

        Dockerfile

FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80

        nginx.conf

worker_processes 4;
events {
        worker_connections 1024;
}
http {
        server {
                listen 80;
                location / {
                        proxy_pass http://ghost-app:2368;
                }
        }
}

    3、docker-compose

        docker-compose.yml

version: '2'
networks:
        ghost:

services:
        ghost-app:
                build: ghost
                networks:
                        - ghost
                depends_on:
                        - db
                ports:
                        - "2368:2368"
        nginx:
                build: nginx
                networks:
                        - ghost
                depends_on:
                        - ghost-app
                ports:
                        - "80:80"
        db:
                image: "mysql:5.7.15"
                networks:
                        - ghost
                environment:
                        MYSQL_ROOT_PASSWORD: mysqlroot
                        MYSQL_USER: ghost
                        MYSQL_PASSWORD: ghost
                volumes:
                        - $PWD/data:/var/lib/mysql
                ports:
                        - "3306:3306"

 

四、构建、运行、停止、删除

cd /data/docker/ghost

# 第一次运行无需build、不要-d 则可以看到运行的全部过程。退出时docker-compose 也会退出
docker-compose up -d

# 停止
docker-compose stop

# 删除
docker-compose rm

# 构建
docker-compose build

# 运行
docker-compose up -d

 

### 使用 `docker-compose` 部署 Ghost 博客系统的教程 #### 准备工作 为了成功部署 Ghost 博客系统,需先安装 DockerDocker Compose。对于 CentOS 8 用户而言,可以通过特定命令完成这些工具的安装[^2]。 下载并配置 Docker Compose 可执行文件的位置非常重要。这通常涉及使用 curl 命令从 GitHub 发布页面获取最新版本,并将其放置在 `/usr/local/bin/` 路径下以便全局访问[^3]。 #### 创建项目结构 在一个新的空文件夹内建立必要的目录和文件以支持整个应用堆栈的操作。具体来说,应该有用于存储 Nginx 配置和服务定义、Ghost 应用及其设置以及 MySQL 数据库实例的相关文件和子目录[^4]。 ```yaml version: '3' services: ghost: image: ghost:latest container_name: ghost-blog environment: - url=http://localhost:2368 volumes: - ./content:/var/lib/ghost/content ports: - "2368:2368" depends_on: - db db: image: mysql:5.7 container_name: ghost-db environment: MYSQL_ROOT_PASSWORD: example MYSQL_DATABASE: ghost_db MYSQL_USER: ghost_user MYSQL_PASSWORD: example_password volumes: - ./mysql/data:/var/lib/mysql ``` 上述 YAML 文件展示了如何利用官方镜像快速启动 Ghost 实例与配套数据库服务之间的交互关系[^1]。 #### 启动服务 当所有准备工作完成后,在包含 `docker-compose.yml` 的根目录中运行以下命令即可一键启动全部所需的服务: ```bash docker-compose up -d ``` 这条指令会以前台模式异步地拉取所需的容器映像并按照指定的方式组合起来形成完整的 Web 应用程序环境。 #### 添加Nginx作为反向代理 为了让外部网络请求能够更高效安全地到达内部的应用服务器,可以引入 Nginx 来充当反向代理的角色。修改相应的配置文件使它监听 HTTP 请求并将它们转发给后端正在运行中的 Ghost 进程[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值