- A+
一、安装环境准备
1.安装git
- [root@ittask /]# yum -y install git
- 已加载插件:fastestmirror, langpacks
- Loading mirror speeds from cached hostfile
- * base: mirrors.aliyun.com
- * extras: mirrors.aliyun.com
- * updates: mirrors.aliyun.com
- updates
- updates/7/x86_64/primary_db
2.安装docker-compose
- [root@ittask ~]# curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 100 664 0 664 0 0 424 0 --:--:-- 0:00:01 --:--:-- 424
- 100 16.7M 100 16.7M 0 0 109k 0 0:02:36 0:02:36 --:--:-- 2423k
- [root@ittask ~]#
- [root@ittask ~]# chmod +x /usr/local/bin/docker-compose
- [root@ittask ~]# docker-compose -v
- docker-compose version 1.25.5, build 8a1c60f6
- [root@ittask ~]#
3.安装容器引擎
- 版本是ce19.03
- [root@ittask ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
- 已加载插件:fastestmirror, langpacks
- Loading mirror speeds from cached hostfile
- * base: mirrors.aliyun.com
- * extras: mirrors.aliyun.com
- * updates: mirrors.aliyun.com
- 软件包 yum-utils-1.1.31-54.el7_8.noarch 已安装并且是最新版本
- 软件包 device-mapper-persistent-data-0.8.5-3.el7_9.2.x86_64 已安装并且是最新版本
- 软件包 7:lvm2-2.02.187-6.el7_9.5.x86_64 已安装并且是最新版本
- 无须任何处理
- [root@ittask ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 已加载插件:fastestmirror, langpacks
- adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
- grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
- repo saved to /etc/yum.repos.d/docker-ce.repo
- [root@ittask ~]# yum install -y docker-ce-19.03.13-3.el7 docker-ce-cli-19.03.13-3.el7 containerd.io
- 已加载插件:fastestmirror, langpacks
- Loading mirror speeds from cached hostfile
- * base: mirrors.aliyun.com
- * extras: mirrors.aliyun.com
- * updates: mirrors.aliyun.com
- 匹配 3:docker-ce-19.03.13-3.el7.x86_64 的软件包已经安装。正在检查更新。
- 匹配 1:docker-ce-cli-19.03.13-3.el7.x86_64 的软件包已经安装。正在检查更新。
- 软件包 containerd.io-1.4.12-3.1.el7.x86_64 已安装并且是最新版本
- 无须任何处理
- [root@ittask ~]# ^C
- [root@ittask ~]#
- 设置阿里云镜像加速
- [root@ittask ~]# mkdir -p /etc/docker
- [root@ittask ~]# tee /etc/docker/daemon.json <<- 'EOF'
- > {
- > "registry-mirrors": ["https://rfzmfq61.mirror.aliyuncs.com"]
- > }
- > EOF
- {
- "registry-mirrors": ["https://rfzmfq61.mirror.aliyuncs.com"]
- }
- [root@ittask ~]# systemctl daemon-reload
- [root@ittask ~]# systemctl restart docker
- [root@ittask ~]#
二、服务部署
创建工作目录
- [root@ittask ~]# mkdir /opt/ferry && cd /opt/ferry
- [root@ittask ferry]#
1.拉取代码
- [root@ittask ferry]# git clone https://github.com/lanyulei/ferry_web.git
- 正克隆到 'ferry_web'...
- remote: Enumerating objects: 2550, done.
- remote: Counting objects: 100% (686/686), done.
- remote: Compressing objects: 100% (473/473), done.
- remote: Total 2550 (delta 387), reused 410 (delta 187), pack-reused 1864
- 接收对象中: 100% (2550/2550), 1.22 MiB | 1.09 MiB/s, done.
- 处理 delta 中: 100% (1310/1310), done.
- [root@ittask ferry]# git clone https://github.com/lanyulei/ferry.git
- 正克隆到 'ferry'...
- remote: Enumerating objects: 2148, done.
- remote: Counting objects: 100% (330/330), done.
- remote: Compressing objects: 100% (186/186), done.
- remote: Total 2148 (delta 169), reused 243 (delta 135), pack-reused 1818
- 接收对象中: 100% (2148/2148), 3.41 MiB | 39.00 KiB/s, done.
- 处理 delta 中: 100% (1199/1199), done.
- [root@ittask ferry]#
2.修改配置
1)修改前端配置
- [root@ittask ferry]# pwd
- /opt/ferry
- [root@ittask ferry]# cd ferry_web/
- [root@ittask ferry_web]#
修改字段,把devferry.wmqhealth.com换成自己要访问得域名或者ip
比如我想服务部署完成后通过192.168.250.187:8001访问ferry服务,那就
- [root@ittask ferry_web]# sed -i 's+fdevops.com+192.168.250.187+' .env.production
- [root@ittask ferry_web]#
检查看下修改结果
- [root@ittask ferry_web]# cat .env.production
- # just a flag
- ENV = 'production'
- # base api
- VUE_APP_BASE_API = 'http://192.168.250.187:8001'
- [root@ittask ferry_web]#
2)修改服务配置
- [root@ittask ferry]# ls
- ferry ferry_web
- [root@ittask ferry]# cd ferry
- [root@ittask ferry]# pwd
- /opt/ferry/ferry
- [root@ittask ferry]#
- [root@ittask ferry]# sed -i 's+fdevops.com+192.168.250.187+' docker-compose.yml
- [root@ittask ferry]#
3.启动服务
- [root@ittask ferry_web]# cd /opt/ferry/ferry_web && docker build . -t ferry_web
- Step 6/12 : FROM nginx:1.18.0
- 1.18.0: Pulling from library/nginx
- f7ec5a41d630: Pull complete
- 0b20d28b5eb3: Pull complete
- 1576642c9776: Pull complete
- c12a848bad84: Pull complete
- 03f221d9cf00: Pull complete
- Digest: sha256:e90ac5331fe095cea01b121a3627174b2e33e06e83720e9a934c7b8ccc9c55a0
- Status: Downloaded newer image for nginx:1.18.0
- ---> c2c45d506085
- Step 7/12 : COPY --from=builder /opt/ferry_web/web /opt/web
- ---> 7f24bc1bbf19
- Step 8/12 : COPY docker/nginx.conf /etc/nginx/nginx.conf
- ---> b67754de8749
- Step 9/12 : COPY docker/entrypoint.sh /entrypoint.sh
- ---> 2e0f495504b7
- Step 10/12 : ENV LISTEN_DOMAIN=fdevops.com
- ---> Running in ac55c2ef8ce5
- Removing intermediate container ac55c2ef8ce5
- ---> e3a723e95c15
- Step 11/12 : EXPOSE 8001
- ---> Running in 1d558517efe8
- Removing intermediate container 1d558517efe8
- ---> 869cbd62c94d
- Step 12/12 : ENTRYPOINT [ "/entrypoint.sh" ]
- ---> Running in 189819c298b0
- Removing intermediate container 189819c298b0
- ---> 68ac8a9694a9
- Successfully built 68ac8a9694a9
- Successfully tagged ferry_web:latest
- [root@ittask ferry]# cd ../ferry && docker-compose up -d
- Building ferry_backend
- Step 1/33 : FROM node:14.18-alpine as web
- ---> 590973483ea0
- Step 2/33 : WORKDIR /opt/workflow
- ---> Using cache
- ---> d2a8458dd334
- Step 3/33 : RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories
- ---> Using cache
- ---> 1d0ade38f798
- Step 4/33 : RUN apk update && apk add --no-cache git && rm -rf /var/cache/apk/* /tmp/* /var/tmp/* $HOME/.cache
- ---> Using cache
- ---> 7fb2d4cfa0ff
- Step 5/33 : RUN git clone https://gitee.com/yllan/ferry_web.git
- ---> Using cache
- [root@ittask ferry]# docker-compose up -d
- Starting ferry_mysql ... done
- Starting ferry_redis ... done
- Starting ferry_backend ... done
- Starting ferry_web ... done
- [root@ittask ferry]#
4.初始化数据库
- [root@ittask ferry]# docker run -ti --rm --link ferry_mysql:mysql --net=ferry_default --volume /opt/ferry/ferry/config:/opt/ferry/config registry.cn-beijing.aliyuncs.com/lanyulei/ferry:v1.0.0-2 ./ferry init -c=/opt/ferry/config/settings.yml
- Unable to find image 'registry.cn-beijing.aliyuncs.com/lanyulei/ferry:v1.0.0-2' locally
- v1.0.0-2: Pulling from lanyulei/ferry
- e4c3d3e4f7b0: Pull complete
- 101c41d0463b: Pull complete
- 8275efcd805f: Pull complete
- 751620502a7a: Pull complete
- aaabf962c4fc: Pull complete
- 7b95e9a7f8f9: Pull complete
- e1a2b6e3fe7a: Pull complete
- 48d2796cc22c: Pull complete
- e10fd04434fe: Pull complete
- 93e26301f99f: Pull complete
- db995525789f: Pull complete
- Digest: sha256:0c31c6bf24e7dffb2be49ab1cab0a87c76bf872a9fd97c16582c4fb27abc009b
- Status: Downloaded newer image for registry.cn-beijing.aliyuncs.com/lanyulei/ferry:v1.0.0-2
- start init
- {"level":"info","ts":"2021-12-31 07:45:22.361911","caller":"database/mysql.go:37","msg":"mysql connect success!"}
- {"level":"info","ts":"2021-12-31 07:45:25.113309","caller":"migrate/server.go:41","msg":"数据库结构初始化成功!"}
- -- 开始初始化数据
- -- 数据完成
- 数据库基础数据初始化成功
- [root@ittask ferry]#
至此,部署完成,登录测试。
- http://192.168.250.187:8001/
- admin/123456
界面截图: