侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

把线上的hyperf2.1项目迁移至docker容器上流程步骤

Docker  /  管理员 发布于 4年前   1759

该项目是一个个人采集分享网站(https://blog.zongscan.com/), 里面盈利点主要是谷歌联盟广告,后端基于hyperf2.1开发的,线上跑了一段时间了,装起来比较麻烦。


为了节约成本,所以该项目服务器在购买一次后不会在续费的情况下,基本在一两年左右,会经常迁移项目,本机安装太麻烦lnmp,swoole还有一些乱七八糟的依赖,扩展,配置,系统工具啥的等等等,实在是太难了,


所以打算搞个docker环境一劳永逸,下回也迁移不用瞎折腾。



docker环境我早已经安装了,想了解的可以点进去看看

https://www.zongscan.com/demo333/304.html



下面时间进入正题


拉取hyperf官方的镜像  映射到本地obj目录  启动后台运行


docker run --name hyperf \
-v /home/www/obj:/data/project \
-p 9601:9601 -it \
--privileged -u root \
--entrypoint /bin/sh \
hyperf/hyperf:7.4-alpine-v3.11-swoole



查看运行的docker

[root@hyperf ~]# docker ps -a
CONTAINER ID   IMAGE                                   COMMAND     CREATED          STATUS    PORTS     NAMES
103fd0f26448   hyperf/hyperf:7.4-alpine-v3.11-swoole   "/bin/sh"   38 minutes ago   Created             hyperf



启动容器

docker start e14802af67f0


注意:启动容器出现下面错误 需重启docker


[root@hyperf ~]# docker start 103fd0f26448
Error response from daemon: driver failed programming external connectivity on endpoint hyperf (17f678568edf9989d532019de9f3d46896c41097b0f44550536476c979106e54):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9601 -j DNAT --to-destination 172.17.0.2:9601 ! -i docker0: iptables: No chain/target/match by that name.
 (exit status 1))
Error: failed to start containers: 103fd0f26448
[root@hyperf ~]# systemctl restart docker
[root@hyperf ~]# docker ps -a
CONTAINER ID   IMAGE                                   COMMAND     CREATED          STATUS    PORTS     NAMES
103fd0f26448   hyperf/hyperf:7.4-alpine-v3.11-swoole   "/bin/sh"   38 minutes ago   Created             hyperf
[root@hyperf ~]# docker start 103fd0f26448
103fd0f26448
[root@hyperf ~]# docker ps -a
CONTAINER ID   IMAGE                                   COMMAND     CREATED          STATUS              PORTS                    NAMES
103fd0f26448   hyperf/hyperf:7.4-alpine-v3.11-swoole   "/bin/sh"   39 minutes ago   Up About a minute   0.0.0.0:9601->9601/tcp   hyperf



进入容器

docker exec -it 103fd0f26448 /bin/sh



进来了 看看跟目录


/ # ls -a
.           .dockerenv  data        etc         lib         mnt         proc        run         srv         tmp         var
..          bin         dev         home        media       opt         root        sbin        sys         usr



composer默认已安装了


/ # composer -v
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.0.14 2021-05-21 17:03:37



检查一下映射 在宿主机添加个文件


/ # cd data

/data # cd project/

/data/project # ls

123.txt


准备就绪 拉取代码进来


/data/project # ls -l
total 452
-rw-r--r--    1 root     root          1455 Feb 22 09:38 Dockerfile
-rw-r--r--    1 root     root          1797 Feb 22 09:38 README.md
drwxr-xr-x   11 root     root           162 May 14 05:59 app
drwxr-xr-x    2 root     root            24 Feb 22 09:38 bin
-rw-r--r--    1 root     root          3013 May 18 06:25 composer.json
-rw-r--r--    1 root     root        431022 May 18 06:25 composer.lock
drwxr-xr-x    3 root     root            79 Feb 22 09:38 config
-rw-r--r--    1 root     root           580 Feb 22 09:38 deploy.test.yml
-rw-r--r--    1 root     root           474 Feb 22 09:38 phpstan.neon
-rw-r--r--    1 root     root           695 Feb 22 09:38 phpunit.xml
drwxrwxr-x    6 root     root            55 May  7 01:51 public
drwxrwxr-x    6 root     root            80 May 18 06:26 runtime
drwxrwxr-x    4 root     root            35 Mar 31 08:37 storage
drwxr-xr-x    3 root     root            64 Feb 22 09:38 test
drwxr-xr-x   53 root     root          4096 May 18 06:25 vendor
/data/project # 


修改hyperf端口9601,9602 (注意:这是我这里改,至于你改不改无所谓啦)


在/config/autoload/server.php里面




修改mysql , redis连接地址


我这都是装是宿主机上所以mysql,redis都用宿主机ip地址就ok了



开始启动hyperf


/data/project # php bin/hyperf.php start
...
[INFO] WebSocket Server listening at 0.0.0.0:9602
[INFO] HTTP Server listening at 0.0.0.0:9601
...


11.png


后面就是域名解析及nginx配置切换了


换完直接大功告成




完




  • 上一条:
    centos7启动docker容器出现iptables错误Error response from daemon解决方式
    下一条:
    新的采集分享站有权重了,百度移动权重1,历时1个月左右
  • 昵称:

    邮箱:

    1条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在docker环境中实现Laravel项目执行定时任务和消息队列流程步骤(0个评论)
    • 在MacBook下laravel项目多php版本docker开发环境配置方案(0个评论)
    • 在docker环境中部署docker部署elk架构流程步骤(1个评论)
    • docker compose跟Dockerfile的区别浅析(0个评论)
    • Ubuntu 22.04系统中安装podman流程步骤(1个评论)
    • 近期文章
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2017-11
    • 2020-06
    • 2021-05
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-11
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2024-03
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客