20200524
参考瓦力官方文档:https://walle-web.io/docs/2/installation_docker.html
安装环境:
Docker版本:19.03.9
Docker-Compase版本:1.25.5
1.安装前准备
1.1.Docker部署
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
1.2.Docker-Compase部署
1.2.1.pip安装
sudo yum install python-pip
pip install --upgrade pip
1.2.2.Docker-Compase安装
pip install docker-compose -i https://mirrors.aliyun.com/pypi/simple/
2.配置文件创建
2.1.创建部署文件夹夹
#创建数据库挂载目录
mkdir -p /data/walle/mysql
#创建walle配置安装文件目录
mkdir /opt/walle
2.2.在docker-compose.yml同级目录新建walle.env,连接数据库MYSQL_USER默认使用root,如需使用其他用户,需自建用户更改walle.env文件
vim /opt/walle/walle.env
# Set MySQL/Rails environment
MYSQL_USER=root
MYSQL_PASSWORD=walle
MYSQL_DATABASE=walle
MYSQL_ROOT_PASSWORD=walle
MYSQL_HOST=db
MYSQL_PORT=3306
2.3.创建docker-compose.yml
vim /opt/walle/docker-compose.yml
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
3.瓦力系统启动
3.1.快速启动
docker-compose up -d && docker-compose logs -f
# 打开浏览器localhost:80
3.2.初始登录账号如下,开启你的walle 2.0之旅吧:)
超管:[email protected] \ Walle123
所有者:[email protected] \ Walle123
负责人:[email protected] \ Walle123
开发者:[email protected] \ Walle123
访客:[email protected] \ Walle123
3.3.常用操作
# 构建服务
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
4.遇到问题
4.1.docker-compase创建瓦力系统失败
docker下载镜像缓慢,需要安装docker镜像加速