上篇文章中,講到了如何搭建docker下的服務mysql,gitlab,nexus。其餘例如npm/maven/java環境安裝則再也不講解。本篇會開始正式使用Walle做爲持續集成方案,進行小型服務的快速構建發佈。
Walle官網:http://www.walle-web.io/php
walle 讓用戶代碼發佈終於能夠不僅能選擇 jenkins!支持各類web代碼發佈,php、java、python、go等代碼的發佈、回滾能夠經過web來一鍵完成。walle 一個可自由配置項目,更人性化,高顏值,支持git、多用戶、多語言、多項目、多環境同時部署的開源上線部署系統。
Centos系統java
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系統python
https://docs.docker.com/docke...mysql
Windows
https://docs.docker.com/docke...linux
請安裝至少版本2.7.15及以上,版本3如下。(推薦2.7.15,否則會出現各類莫名其妙的問題,官方未解釋緣由)nginx
pip install docker-compose -i https://mirrors.aliyun.com/pypi/simple/
git
若是pip不存在,能夠嘗試web
sudo yum install python-pip sudo pip install --upgrade pip
編輯mysql配置文件:cd ${walle運行目錄} && vim docker-compose.yml
sql
# 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
# 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
參考文章: https://blog.csdn.net/u011781...
以上配置文件有如下幾個特色:
基本參數
一鍵啓動(快速體驗)
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