系统环境centos 7,旨在搭建Ferry工单系统后续使用。
全文参考:【云原生 | 拓展01】手把手教你搭建ferry开源工单系统
替换成为阿里yum源
编辑CentOS-Base.repo,将[base]删除替换为下面[base]
[root@localhost ~]# vi /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
更新系统软件包及依赖包。建议此步完成后可先做快照,后续如有搭建问题时可回滚到最初状态
[root@localhost ~]# sudo yum update -y
[root@localhost ~]# sudo yum install -y epel-release
[root@localhost ~]# sudo yum install -y curl wget gnupg2
关闭防火墙和selinux
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
2.安装docker
2.1 更新yum索引
[root@localhost ~]# yum makecache fast
卸载旧版本docker
[root@localhost ~]# yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.3 安装依赖包
[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
2.4 设置阿里云镜像源
[root@localhost ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@localhost ~]# ls /etc/yum.repos.d/ /*查看有docker-ce.repo生成
bak CentOS-7.repo docker-ce.repo epel.repo /*如出现以下repo则成功
2.5 安装并启动docker
[root@localhost ~]# yum install -y docker-ce /*安装
[root@localhost ~]# systemctl start docker /*#启动docker
[root@localhost ~]# systemctl disable docker /*设为开机自启动
[root@localhost ~]# docker version /*查看docker版本
3.docker中部署mysql
3.1 安装启动mysql
[root@localhost ~]# docker run -d -p3306:3306 --name=mysql5 -e MYSQL_ROOT_PASSWORD=111111 mysql:5 #密码设置为111111
如下图,镜像下载并完成容器启动,等待即可:
3.2 进入mysql实例
[root@localhost ~]# docker exec -it mysql5 bash #进入mysql容器
root@df379c1e9abe:/# mysql -uroot -h<本服务器IP> -p #登录mysql
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.44 MySQL Community Server (GPL)
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database ferry; #创建数据库ferry
mysql> exit #退出mysql
root@df379c1e9abe:/# exit #退出容器
4.docker中部署redis
4.1 安装启动mysql
[root@localhost ~]# docker run --name=redis6.0 -d -p 6379:6379 redis:6.0
如下图,镜像下载并完成容器启动,等待即可:
4.2 查看容器是否正常启动
[root@localhost ~]# docker ps -a #STATUS列显示UP状态为容器正常启动,如下图:
5.部署启动ferry
5.1 获取本机ip
[root@localhost ~]# ip a
5.2 安装git命令并拉取ferry代码
[root@localhost ~]# yum -y install git
[root@localhost ~]# git clone https://github.com/lanyulei/ferry.git #拉取代码成功如下图:
5.3 修改ferry配置文件
[root@localhost ~]# cd ferry/
[root@localhost ferry]# vim config/settings.yml
找到如下配置:
database:
dbtype: mysql
host: ferry_mysql
name: ferry
password: 123456
port: 3306
username: root
做如下修改:
mysql 配置(更改host 和密码为此服务器的IP地址):
host: ferry_mysql -> host: 192.168.0.3
password: 123456 -> password: 111111
找到如下配置:
redis:
url: redis://ferry_redis:6379
做如下修改:
redis 配置(更改host此服务器的IP地址):
url: redis://ferry_redis:6379 -> url: redis://192.168.X.X:6379
5.4 创建needinit文件
[root@localhost ferry]# touch config/needinit
注意:在config 目录新建 needinit 文件, 第一次启动的时候db中没有数据,此时可以通过这命令初始化数据,服务正常启动后再删该文件(以防下次容器启动时候再次初始化)
6.启动ferry
6.1 创建ferry容器并启动
[root@localhost ferry]# docker run -itd --name ferry -v /root/ferry/config:/opt/workflow/ferry/config -p 8002:8002 lanyulei/ferry:1.0.1
命令解释
docker run -it -v 宿主机目录绝对路径:容器目录绝对路径 镜像ID或NAME /bin/bash
-it 交互式运行容器
-d 在后台运行容器,并且打印容器id
--name ferry 容器名称为ferry
-v 挂载volume数据卷
宿主机目录绝对路径 宿主机中config配置文件目录所在路径。挂载之后容器运行可以将当前目录的配置文件挂载到容器内指定的目录调用
-p 8002:8002 端口映射,注意:p小写是将容器的端口映射到宿主机的制定端口,大写是将容器的端口映射到宿主机的随机端口
如下图,镜像下载并完成容器启动,等待即可:
6.2 查看容器状态
[root@localhost ferry]# docker ps -a
mysql、redis、ferry三个容器状态都为UP则正确,如下图:
7.登录工单系统页面
浏览器访问ip:8002即可(需加端口号),如服务器重启时docker及容器都会关闭。如下图所示
需重新打开,打开过程如下:
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl start docker
[root@localhost ~]# docker start c38*******7b /执行docker ps -a 后查看ferry 容器ID多少,打开容器。
c38*******7b
[root@localhost ~]# docker start 6ab*******ed /执行docker ps -a 后查看redis 容器ID多少,打开容器。
6ab*******ed
[root@localhost ~]# docker start 36f*******33/执行docker ps -a 后查看mysql 容器ID多少,打开容器。
36f*******33
直至所有容器status从Exited变成UP,重新输入IP:8002端口号进入系统。
本文由 yorickbao 创作,采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。