關於 docker 部署 walle 平臺
前幾天在微博上看到一個博主推薦了 walle 平臺,自己部署好後把過程總了下分享給大家.還是第一次體驗 docker ,walle 平臺也只是部署了下.還沒有用過,後續爭取體驗後繼續更新,歡迎大家討論交流
一.docker 環境配置
參考文件
1-1 系統:CentOS 7(64 位)
1-2 安裝 Devices-
sudo yum install -y device-mapper
sudo modprobe dm_mod
1-3 下載 gcc 相關
yum -y install gcc
yum -y install gcc-c++
1-4 解除安裝舊版本
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine
1-5 安裝依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2
1-6 設定 stable 映象倉庫
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
或
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1-7 更新 yum 軟體包索引
yum makecache fast
1-8 安裝 docker
安裝指定版本
yum list docker-ce.x86_64 --showduplicates | sort -r #從高到低列出Docker-ce的版本
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
# 例如:
yum install docker-ce-18.09.9 docker-ce-cli-18.09.9 containerd.io
安裝最新版本
yum -y install docker-ce
1-9 啟動 docker
systemctl start docker
檢視docker版本
docker version
1-10 刪除 docker
1.列出docker包的具體的名字
$ sudo yum list installed | grep docker
containerd.io.x86_64 1.2.4-3.1.el7
docker-ce.x86_64 3:18.09.3-3.el7
docker-ce-cli.x86_64 1:18.09.3-3.el7
2.刪除docker
yum -y remove containerd.io.x86_64 \
docker-ce.x86_64 \
docker-ce-cli.x86_64
3.直接刪除docker
sudo yum remove docker \
docker-io \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
4.清除映象和容器檔案
sudo rm -rf /var/lib/docker
1-11 映象加速
vi /etc/docker/daemon.json
{"registry-mirrors":["https://hub-mirror.c.163.com"]}
配置成功後,CentOS 6.5 重啟
service docker restart
配置成功後,CentOS7重啟
systemctl daemon-reload #重啟加速配置檔案
systemctl restart docker #重啟docker後臺服務
二.部署 walle
官方文件
2-1 安裝 pip
sudo yum install python-pip
sudo pip install --upgrade pip
2-2 安裝 docker-compose
pip install docker-compose -i https://mirrors.aliyun.com/pypi/simple/
2-3 在 docker 安裝目錄 /var/lib/docker 下新增兩個配置檔案
vim 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
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
2-4 啟動映象
docker-compose up -d && docker-compose logs -f docker-compose.yml
2-5 初始化賬號及常規操作
超管: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
2-6 問題彙總
a.服務啟動後mysql報錯,web頁面可以開啟但是登入介面500,資料庫可以連線但是庫裡沒有表
出現的原因:部署時因為和伺服器上的mysql有埠號衝突,所以修改過 docker-compose.yml 檔案裡的 mysql埠號導致的
解決辦法: 目前沒有找到較好的解決方法,只能讓walle平臺佔用3306埠
相關文章
- teprunner測試平臺部署到Linux系統DockerLinuxDocker
- 基於kubernetes平臺微服務的部署微服務
- 將SpringBoot應用Docker化並部署到SAP雲平臺Spring BootDocker
- 在 SAP 雲平臺上部署和執行 Docker 應用Docker
- 部署LAMP平臺LAMP
- 基於docker部署jenkinsDockerJenkins
- 基於 Serverless 的部署平臺構建與思考Server
- OpenStack雲平臺部署
- 部署AI平臺-OllamaAI
- OpenStack——雲平臺部署
- 基於Docker的GoldenGate部署DockerGo
- 打造專屬測試平臺4-使用Docker部署Django專案DockerDjango
- 基於 Gogs + Drone 構建私有 CI/CD 平臺 | Docker 篇GoDocker
- Teuthology平臺部署手冊
- 關於RestCloud iPaaS平臺的板塊詳解RESTCloud
- 關於搭建遊戲平臺的四個思考遊戲
- 關於搭建可商用AI平臺的小感想AI
- 關於測試平臺的搭建 (我們要不要搭建測試平臺)
- Linux 上部署 docker,基於 docker 搭建 lnmp 環境LinuxDockerLNMP
- 關於Docker加速映象Docker
- 4.1.2 關於Startup部署
- 基於Saltstack、Artifactory打造傳統模式下持續部署平臺模式
- 基於surging的木舟平臺如何上傳模組熱部署熱部署
- Docker 構建多平臺映象Docker
- Docker構建多平臺映象Docker
- 部署KVM虛擬化平臺
- 漏洞管理平臺『洞察』部署指南
- 基於 Docker 映象部署 go 專案DockerGo
- 雲無關、桌面端、基於Kubernetes的平臺Otomi
- 基於微服務和Docker的PaaS雲平臺架構設計微服務Docker架構
- 關於後臺資料庫設計的考慮(手機平臺)資料庫
- docker Yearning+Inception SQL稽核平臺DockerSQL
- go-admin部署到istio平臺Go
- 基於Docker部署Dubbo+Nacos服務Docker
- 基於K8s構建Jenkins持續整合平臺(部署流程)K8SJenkins
- 【Docker】docker-compose檔案快速部署RustDesk遠端桌面平替TeamViewerDockerRustView
- 關於/var/run/docker.sockDocker
- 關於docker-Compose基本使用Docker