🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
介绍 app名称:ghost,是一个博客平台程序 安装之后,可自己写文章或别人发布 架构:nginx-ghost app-mysql 分别分为三个容器 docker.yml文件 ghost-app: build: ghost depends_on: - db ports: - "2368:2368" nginx: build: nginx ports: - "80:80" depends_on: - ghost-app db: images: "mysql:5.7.15" docker-compose.yml命令 build:本地创建镜像 command:覆盖缺省命令 depends_on:连接容器 ports:暴露端口 volumes:挂载卷组 image:拉取镜像 docker-composer命令 up:启动服务 stop:停止服务 rm:删除服务中的各个容器 logs:观察各个容器中的日志 ps:列出服务相关的容器 整体实战 ``` mkdir ghost cd ghost mkdir ghost mkdir nginx mkdir data // ghost镜像构建 cd ghost touch Dockerfile vim Dockerfile FROM ghost COPY ./config.js /var/lib/ghost/config.js EXPOSE 2368 CMD ["npm","start","--production"] // 依赖ghost官方镜像 // 拷贝本地配置文件到镜像中 // 声明暴露服务的端口 // 执行启动命令。ghost为node.js程序,所以使用npm命令 touch config.js vim 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: 'utf8' }, debug: false }, paths: { contentPath: path.join(process.env.GHOST_CONTENT,'/') }, server: { host: '0.0.0.0', port: '2368' } } }; module.exports = config; // nginx镜像构建 cd nginx touch Dockerfile vim Dockerfile FROM nginx COPY nginx.conf /etc/nginx/nginx.conf EXPOSE 80 // 依赖nginx官方镜像 // 拷贝本地配置文件到镜像中 // 声明暴露服务的端口 touch nginx.conf vim nginx.conf worker processes 4; events {worker_connections 1024;} http { server { listen 80; location / { proxy_pass http://ghost-app:2368; } } } ``` 回到ghost根路径 ls显示 ghost:存放Dockerfile和配置文件用来构建镜像 nginx:存放Dockerfile和配置文件用来构建镜像 data:存放博客的数据 // compose文件用于描述整个系统的架构 ``` touch docker-compose.yml vim docker-compose.yml version: '2' networks: ghost: service: 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" docker-compose up -d 启动 docker-compose stop 关闭 docker-compose rm 删除 docker-compose build 构建 访问http://localhost/ghost ```