内容简介:上篇文章中,讲到了如何搭建docker下的服务mysql,gitlab,nexus。其他例如npm/maven/java环境安装则不再讲解。本篇会开始正式使用Walle作为持续集成方案,进行小型服务的快速构建发布。Walle官网:walle 让用户代码发布终于可以不只能选择 jenkins!支持各种web代码发布,php、java、python、go等代码的发布、回滚可以通过web来一键完成。walle 一个可自由配置项目,更人性化,高颜值,支持git、多用户、多语言、多项目、多环境同时部署的开源上线部署系
上篇文章中,讲到了如何搭建 docker 下的服务mysql,gitlab,nexus。其他例如npm/maven/java环境安装则不再讲解。本篇会开始正式使用Walle作为持续集成方案,进行小型服务的快速构建发布。
Walle官网: http://www.walle-web.io/
基本概述
walle 让用户代码发布终于可以不只能选择 jenkins!支持各种web代码发布,php、 java 、 python 、 go 等代码的发布、回滚可以通过web来一键完成。walle 一个可自由配置项目,更人性化,高颜值,支持git、多用户、多语言、多项目、多环境同时部署的开源上线部署系统。
宿主机、目标机群、操作用户
权限模型
信任关系
构建流程
Docker安装Walle
Docker安装
Centos系统
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce -y sudo systemctl enable docker sudo systemctl start docker
Mac系统
https://docs.docker.com/docke...
Windows
https://docs.docker.com/docke...Python安装
请安装至少版本2.7.15及以上,版本3以下。(推荐2.7.15,不然会出现各种莫名其妙的问题,官方未解释原因)
Docker-compose 安装
pip install docker-compose -i https://mirrors.aliyun.com/pypi/simple/
如果pip不存在,可以尝试
sudo yum install python-pip sudo pip install --upgrade pip
创建Walle容器编排配置
编辑 mysql 配置文件: cd ${walle运行目录} && vim docker-compose.yml
# Set MySQL/Rails environment MYSQL_USER=root MYSQL_PASSWORD=walle MYSQL_DATABASE=walle MYSQL_ROOT_PASSWORD=walle MYSQL_HOST=db MYSQL_PORT=3306
编辑docker-compose walle配置文件: vim docker-compose.yml
# docker version: 18.06.0+ # docker-compose version: 1.23.2+ # OpenSSL version: OpenSSL 1.1.0h version: "3.7" services: web: image: alenx/walle-web:2.1 container_name: walle-nginx hostname: nginx-web ports: # 如果宿主机80端口被占用,可自行修改为其他port(>=1024) # 0.0.0.0:要绑定的宿主机端口:docker容器内端口80 - "80:80" depends_on: - python networks: - walle-net restart: always python: image: alenx/walle-python:2.1 container_name: walle-python hostname: walle-python env_file: # walle.env需和docker-compose在同级目录 - ./walle.env command: bash -c "cd /opt/walle_home/ && /bin/bash admin.sh migration && python waller.py" expose: - "5000" volumes: - /opt/walle_home/plugins/:/opt/walle_home/plugins/ - /opt/walle_home/codebase/:/opt/walle_home/codebase/ - /opt/walle_home/logs/:/opt/walle_home/logs/ - /root/.ssh:/root/.ssh/ depends_on: - db networks: - walle-net restart: always db: image: mysql container_name: walle-mysql hostname: walle-mysql env_file: - ./walle.env command: [ '--default-authentication-plugin=mysql_native_password', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci'] ports: - "3306:3306" expose: - "3306" volumes: - /data/walle/mysql:/var/lib/mysql networks: - walle-net restart: always networks: walle-net: driver: bridge
docker-compose概要
参考文章: https://blog.csdn.net/u011781...
以上配置文件有以下几个特点:
-
基本参数
- image:docker的镜像,需要依据该镜像运行为容器
- container_name:容器名称,停止和启动容器时使用
- hostname:机器名称
- env_file:环境变量配置文件
- command:启动后需要执行的命令
- ports:映射到宿主机的端口
- expose:暴露非80的端口
- vlolumes:映射到宿主机的文件路径
- networkks:指定的服务网路
- restart:不管退出状态码是什么始终重启容器
- 一共3个镜像需要在编排的时候,运行为容器web,python,db。启动顺序为db > python > web
- web存放walle静态界面,依赖python接口,映射容器端口80到宿主机端口80
- python存放接口与构建环境,依赖db服务,并映射日志等内容到宿主机。
- db存放mysql配置文件,并映射mysql数据文件路径到宿主机。(防止容器重启损坏后丢失数据),映射容器端口3306到宿主机端口3306,额外暴露端口3306
Start
一键启动(快速体验)
docker-compose up -d && docker-compose logs -f
打开浏览器localhost:80 (如不想使用80端口,请调整"80:80",改变左侧端口号)
初始登录账号如下,开启你的walle 2.0之旅吧:)
角色 | 账户 | 密码 |
---|---|---|
超管 | super@walle-web.io | Walle123 |
所有者 | owner@walle-web.io | Walle123 |
负责人 | master@walle-web.io | Walle123 |
开发者 | developer@walle-web.io | Walle123 |
访客 | reporter@walle-web.io | Walle123 |
常用操作
构建服务
docker-compose build
启动服务,启动过程中可以直接查看终端日志,观察启动是否成功
docker-compose up
启动服务在后台,如果确认部署成功,则可以使用此命令,将应用跑在后台,作用类似 nohup python waller.py &
docker-compose up -d
查看日志,效果类似 tail -f waller.log
docker-compose logs -f
停止服务,会停止服务的运行,但是不会删除服务所所依附的网络,以及存储等
docker-compose stop
删除服务,并删除服务产生的网络,存储等,并且会关闭服务的守护
docker-compose down
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 实战 Prometheus 搭建监控系统
- go micro实战01:快速搭建服务
- Vue最全实战教程系列(1): 环境搭建
- 实战:用Microsoft 365搭建零信任网络
- 「实战」搭建完整的IM(即时通讯)应用(1)
- 「实战」搭建完整的IM(即时通讯)应用(2)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web Data Mining
Bing Liu / Springer / 2011-6-26 / CAD 61.50
Web mining aims to discover useful information and knowledge from Web hyperlinks, page contents, and usage data. Although Web mining uses many conventional data mining techniques, it is not purely an ......一起来看看 《Web Data Mining》 这本书的介绍吧!