1、Docker运行mysql容器:
docker run -d -p3306:3306 --name=mysql5 -e MYSQL_ROOT_PASSWORD=111111 mysql:5
2、进入到mysql中添加数据库:
[root@vm1 ~]# docker exec -it mysql5 /bin/bash
root@98d13d56f234:/# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.36 MySQL Community Server (GPL)
Copyright (c) 2000, 2021, 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> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> create database ferry;
Query OK, 1 row affected (0.00 sec)
mysql>
mysql>
mysql> exit
Bye
root@98d13d56f234:/# exit
exit
使用create database ferry;命令创建数据库之后。exit命令退出数据库,然后再exit退出mysql5容器。
3、docker部署redis:
docker run --name=redis6.0 -d -p 6379:6379 redis:6.0
4、检查两个容器是否运行正常:
docker ps -a
5、安装git:
yum install -y git
6、拉取ferry代码:
[root@vm1 ~]# git clone https://github.com/lanyulei/ferry.git
Cloning into 'ferry'...
remote: Enumerating objects: 2729, done.
remote: Counting objects: 100% (674/674), done.
remote: Compressing objects: 100% (271/271), done.
remote: Total 2729 (delta 424), reused 453 (delta 401), pack-reused 2055
Receiving objects: 100% (2729/2729), 8.53 MiB | 4.06 MiB/s, done.
Resolving deltas: 100% (1523/1523), done.
7、进入到ferry目录:
[root@vm1 ~]# cd ferry
[root@vm1 ferry]# ll
total 124
drwxr-xr-x 9 root root 103 Nov 12 07:49 apis
-rwxr-xr-x 1 root root 8171 Nov 12 07:49 build.sh
drwxr-xr-x 4 root root 48 Nov 12 07:49 cmd
drwxr-xr-x 2 root root 104 Nov 12 07:49 config
drwxr-xr-x 2 root root 81 Nov 12 07:49 database
drwxr-xr-x 2 root root 27 Nov 12 07:49 docker
-rw-r--r-- 1 root root 1050 Nov 12 07:49 docker-compose.yml
-rw-r--r-- 1 root root 1888 Nov 12 07:49 Dockerfile
drwxr-xr-x 2 root root 96 Nov 12 07:49 docs
drwxr-xr-x 3 root root 17 Nov 12 07:49 global
-rw-r--r-- 1 root root 5742 Nov 12 07:49 go.mod
-rw-r--r-- 1 root root 80643 Nov 12 07:49 go.sum
drwxr-xr-x 3 root root 87 Nov 12 07:49 handler
-rw-r--r-- 1 root root 1065 Nov 12 07:49 LICENSE
-rw-r--r-- 1 root root 70 Nov 12 07:49 main.go
-rw-r--r-- 1 root root 296 Nov 12 07:49 Makefile
drwxr-xr-x 2 root root 133 Nov 12 07:49 middleware
drwxr-xr-x 6 root root 59 Nov 12 07:49 models
drwxr-xr-x 14 root root 180 Nov 12 07:49 pkg
-rw-r--r-- 1 root root 6878 Nov 12 07:49 README.md
drwxr-xr-x 5 root root 91 Nov 12 07:49 router
drwxr-xr-x 5 root root 48 Nov 12 07:49 static
drwxr-xr-x 3 root root 136 Nov 12 07:49 template
drwxr-xr-x 2 root root 54 Nov 12 07:49 test
drwxr-xr-x 5 root root 183 Nov 12 07:49 tools
8、修改settings.yml文件:
[root@vm1 ferry]# cat config/settings.yml
script:
path: ./static/scripts
settings:
application:
domain: localhost:8002
host: 0.0.0.0
ishttps: false
mode: dev
name: ferry
port: "8002"
readtimeout: 1
writertimeout: 2
database:
dbtype: mysql
host: 192.168.17.150
name: ferry
password: 111111
port: 3306
username: root
domain:
gethost: 1
url: localhost:9527
email:
alias: ferry
host: smtp.163.com
pass: your password
port: 465
user: fdevops@163.com
gorm:
logmode: 0
maxidleconn: 0
maxopenconn: 20000
jwt:
secret: ferry
timeout: 86400
ldap:
anonymousquery: 0
basedn: dc=fdevops,dc=com
bindpwd: 123456
binduserdn: cn=admin,dc=fdevops,dc=com
host: localhost
port: 389
tls: 0
userfield: uid
log:
compress: 1
consolestdout: 1
filestdout: 0
level: debug
localtime: 1
maxage: 30
maxbackups: 300
maxsize: 10240
path: ./logs/ferry.log
public:
islocation: 0
redis:
url: redis://192.168.17.150:6379
ssl:
key: keystring
pem: temp/pem.pem
做如下修改:
mysql 配置(更改host 和密码为你自己的):
host: ferry_mysql -> host: 192.168.17.150
password: 123456 -> password: 111111
找到如下配置:
redis:
url: redis://ferry_redis:6379
做如下修改:
redis 配置(更改host为你自己的):
url: redis://ferry_redis:6379 -> url: redis://192.168.17.150:6379
说明:database和redis两个地方的配置,因为我这边数据库和redis都是部署在同一台机器上,所以就没写IP地址,而是使用的localhost,然后运行ferry失败。后来我改成机器的IP地址,发现就正常了。
9、创建needinit文件:
touch config/needinit
在lanyulei官网上说:
若是你没有同步过 ferry 相关的数据,则只需要在配置文件的路径下创建一个名为 needinit 的文件即可。
若是已经同步过,则必须确认在配置文件的路径下,一定要没有这个文件needinit。避免造成数据的重复同步。
配置文件的路径可根据下一步的描述得知。
10、创建Ferry容器并启动:
docker run -itd --name ferry -v /root/ferry/config:/opt/workflow/ferry/config -p 8002:8002 lanyulei/ferry:1.0.1
注意:-v 前面是Docker主机的路径,后面是容器中的路径。/root/ferry/config是目前我机器上的路径,里面的配置文件是要挂载到容器里相应路径的。这不能搞错。
11、检查Ferry容器的运行状态:
[root@vm1 ferry]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
67426aef7694 lanyulei/ferry:1.0.1 "/opt/workflow/ferry..." 2 minutes ago Up 7 seconds 0.0.0.0:8002->8002/tcp, :::8002->8002/tcp ferry
b606975167ba redis:6.0 "docker-entrypoint.s..." 34 minutes ago Up 34 minutes 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp redis6.0
90c283d2ea0e mysql:5 "docker-entrypoint.s..." 40 minutes ago Up 40 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql5
如果容器运行有问题,可以使用docker logs ferry命令检查容器运行的输出信息。
12、浏览器访问http://ip地址:8002,即可访问到ferry系统:
用户名:admin
密码:123456
13、说明:
目前的部署我们直接使用的是mysql的root账户,密码也比较简单。建议在数据库中创建ferry用户,并使用比较复杂的密码,并进行grant授权。
Original: https://blog.csdn.net/chang_chunhua/article/details/127816099
Author: CCH2023
Title: CentOS部署Ferry系统
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/652707/
转载文章受原作者版权保护。转载请注明原作者出处!