php之使用docker运行workerman案例讲解
介绍
在docker上部署gatawayWorker项目,项目中使用到mysql,redis
安装 mysql
拉取镜像
docker pull mysql:5.7
运行容器
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name m_mysql mysql:5.7
-d 后台运行
-p 端口映射,前面是宿主机端口,后面是需要映射的容器端口
-e 设置环境变量,MYSQL_ROOT_PASSWORD是mysql的root用户的初始密码
--name 容器的名字唯一
进入容器
docker exec -it m_mysql /bin/bash
选项 | 选项简写 | 说明 |
---|---|---|
–detach | -d | 在后台运行容器,并且打印容器id。 |
–interactive | -i | 即使没有连接,也要保持标准输入保持打开状态,一般与 -t 连用。 |
–tty | -t | 分配一个伪tty,一般与 -i 连用。 |
mysql远程连接设置
mysql -uroot -proot use mysql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; FLUSH PRIVILEGES;
这样就可以通过公网连接了
安装php
拉取镜像
docker pull php:7.3-cli
运行
docker run --name myphp -p 8282:8282 -v /home/wwwroot:/www -d php:7.3-fpm
-p 添加主机到容器的端口映射 将需要用到的8282映射出来,多个端口可以多次使用-p
-v 添加目录映射 将项目放到/home/wwwroot下,在容器里会自动出现
安装workerman需要的环境
apt-get install libevent-dev
apt-get install libevent-dev docker-php-ext-install pcntl sockets docker-php-ext-install event docker-php-ext-install pdo_mysql docker-php-ext-install redis
启动workerman
php start.php start -d
到此这篇关于php之使用docker运行workerman案例讲解的文章就介绍到这了,更多相关php之docker运行workerman内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
Docker搭建php环境教程详解
docker 安装 使用官方提供的安装脚本,安装最新版的Docker curl -sSL https://get.docker.com/ | sh 安装完成后,通过如下命令启动Docker的守护进程,并让它随系统启动自动加载 sudo service docker start sudo chkconfig docker on ## 或者 sudo systemctl start docker sudo systemctl enable docker 添加用户(jerry)到Docker组 sud
-
如何在Mac上通过docker配置PHP开发环境
使用docker-compose配置开发环境 一般一个基本的PHP开发环境包括PHP.PHP-FPM.WEB服务器.MySQL数据库,另外还会有Redis或memcache等相关NoSQL服务.我主要是通过docker-compose来配置服务. 什么是docker-compose docker-compose是一个通过YAML文件来定义项目,项目中包含单个或多个容器服务.一般配置文件名为:docker-compose.yml. 目录结构 你可以按自己的喜好组织项目,下面是我用的方法,app 目
-
docker灵活的构建PHP环境的实现
使用docker搭建灵活的线上php环境 有时候你可能不太需要一些别人已经集成了的包或者镜像 我们就可以使用以下方式自己动手逐一构建自己所需要的环境结构 并在最后实现一键自动化部署 一步一步点亮docker技能树 ## . ## ## ## == ## ## ## ## ## === /""""""""""""""""".__/ ===
-
docker中实现安装php拓展步骤讲解
一:php核心拓展包安装 在docker中安装的php有一些核心的拓展包,他们一般放置在/usr/src/php/ext/目录下 如下: docker exec -it php /bin/bash #进入php容器 cd /usr/src/php/ext/ dir 如下展示的就是php的核心拓展包 安装方式: #相关依赖安装 apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libmcrypt
-
Docker 安装 PHP并与Nginx的部署实例讲解
安装 PHP 镜像 查找 Docker Hub 上的 php 镜像: 此外,我们还可以用 docker search php 命令来查看可用版本: 这里我们拉取官方的镜像,标签为7.3.24-fpm-stretch docker pull php:7.3.24-fpm-stretch 等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为php,标签为7.3.24-fpm-stretch的镜像. Nginx + PHP 部署 Nginx 部署可以查看本人博客中:Docker 安装
-
docker 安装 php-fpm 服务 / 扩展 / 配置的示例教程详解
在 mac 上用 brew 装 php56 时,因为 openssl 是 1.1 版本而导致各种 google 都搞不定的错误,太折腾了,现在用 docker 创建一个 php56-fpm 服务容器,nginx 直装在宿主机上. PHP DockerHub 主页 创建容器 # 创建容器 docker run -d \ --name php56-fpm \ -p 9056:9000 \ -v /home/wwwroot:/var/www/html --privileged=true php:5.6
-
docker部署LNMP&phpMyAdmin的方法步骤
环境准备: 在一台主机上部署lnmp,基于多个容器: nginx服务:172.16.10.10 mysql服务:172.16.10.20 php服务:172.16.10.30 解决容器固定ip地址问题: 注意:因为当容器停止时或者将容器删除,再次运行相同的容器,它的ip地址不再时原来的地址,所以我们需要自定义一个网段,来指定容器的ip地址. 项目操作: (1) 首先自定义一个网络: [root@sqm-docker01 ~]# docker network create -d bridge --
-
Docker搭建OpenLDAP+phpLDAPadmin统一用户认证的方法
一.背景 使用LDAP对运维相关用户名密码做统一管理.可以实现一个帐号登录多个不同系统. 手动部署都是各种问题,后来采用Docker部署,参考了好多教程文档总结如以下 内容亲测可用 二.部署 Docker 搭建 LDAP # 拉取镜像 docker pull osixia/openldap:1.3.0 # 创建并进入映射目录 mkdir -p /usr/local/ldap && cd /usr/local/ldap # 启动容器 docker run \ -d \ -p 389:389
-
php之使用docker运行workerman案例讲解
介绍 在docker上部署gatawayWorker项目,项目中使用到mysql,redis 安装 mysql 拉取镜像 docker pull mysql:5.7 运行容器 docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name m_mysql mysql:5.7 -d 后台运行 -p 端口映射,前面是宿主机端口,后面是需要映射的容器端口 -e 设置环境变量,MYSQL_ROOT_PASSWORD是mysql的root用户的初
-
Linux中docker的使用方法讲解
# 列出当前所有正在运行的容器 $ docker ps # 列出所有的容器 $ docker ps -a # 列出最近一次启动的容器 $ docker ps -l # 查看容器的相关信息 $ docker inspect $CONTAINER_ID 删除某一个容器: docker rm 容器id ========================================================================= 当利用 docker run 来创建容器时,Docke
-
PHP反射机制案例讲解
简介 就算是类成员定义为private也可以在外部访问,不用创建类的实例也可以访问类的成员和方法. PHP自5.0版本以后添加了反射机制,它提供了一套强大的反射API,允许你在PHP运行环境中,访问和使用类.方法.属性.参数和注释等,其功能十分强大,经常用于高扩展的PHP框架,自动加载插件,自动生成文档,甚至可以用来扩展PHP语言.由于它是PHP內建的oop扩展,为语言本身自带的特性,所以不需要额外添加扩展或者配置就可以使用.更多内容见官方文档. 反射类型 PHP反射API会基于类,方法,属性,
-
Java对文件进行基本操作案例讲解
File文件类 java.io.File是文件和目录的重要类(JDK6及以前是唯一) 目录也使用File类进行表示 File类与操作系统无关,但会受到操作系统的权限限制 常用方法 createNewFile , delete , exists , getAbsolutePath , getName , getParent , getPath isDirectory , isFile , length , listFiles , mkdir , mkdirs File不涉及到具体的文件内容.只会涉
-
JavaScript之事件循环案例讲解
js中的事件循环 因为JavaScript是单线程的,同一事件只能执行一种方法,所以会将程序中的方法加入到执行栈中按照后进先出的顺序依次执行,当遇见异步任务时不会被阻塞,而是将任务放入事件队列中,继续执行执行栈中的同步代码,等当前执行栈中的所有任务都执行完毕则查找事件队列中的任务,并把任务的回调函数放入执行栈中,执行其中的同步代码,如此反复形成的循环被称为事件循环. node.js node.js特点 事件驱动 从上向下执行代码,当遇到需要回调的地方就加入到事件队列中,主线程运行完就去执行事件队
-
Java之SpringCloudAlibaba Sentinel组件案例讲解
Sentinel 是什么 随着微服务的流行,服务和服务之间的稳定性变得越来越重要.Sentinel 以流量为切入点,从流量控制.熔断降级.系统负载保护等多个维度保护服务的稳定性. 官网:https://github.com/alibaba/Sentinel 中文官网:https://github.com/alibaba/Sentinel/wiki Sentinel与Hystrix的区别 由于Hystrix不再积极的开发,进入维护阶段,现在越来越多的开发者在项目中使用Spring Cloud Al
-
Java之常用类小结案例讲解
Java常用类 包装类 由于Java语言中的基本类型不是面向对象,并不具备对象的性质,实际使用存在很多不便.Java在java.lang包中提供了八种基本类型对应的包装类,可以方便地将它们转化为对象进行处理,并且可以调用一些方法.Java中基本类型和包装类的对应关系如下表所示: 基本数据类型名称 包装类名称 byte Byte short Short int Integer long Long float Float double Double char Character boolean Bo
-
Nginx反向代理至go-fastdfs案例讲解
背景 go-fastdfs是支持http协议的一款分布式文件系统,在一般的项目中,很少是直接将文件系统的地址暴露出来的,大多数都会通过nginx等软件进行反代过去,由于我司的业务和网络环境场景相对特殊,由公网部分(公有云)和内网部分(私有云)组成的混合云网络体系,公有云主要就是作为一个出口和入口以及运行一些审计认证等应用,对上游请求进行处理,从而减少私有云的处理次数,提升性能.那么也正是因为这样,在公网的环境下,要访问到私有云提供的服务则必须使用反向代理.同样道理,对于文件系统的访问也如此,如何
-
Java之类加载机制案例讲解
1.类加载 <1>.父子类执行的顺序 1.父类的静态变量和静态代码块(书写顺序) 2.子类的静态变量和静态代码块(书写顺序) 3.父类的实例代码块(书写顺序) 4.父类的成员变量和构造方法 5.子类的实例代码块 6.子类的成员变量和构造方法 <2>类加载的时机 如果类没有进行初始化,则需要先进行初始化,虚拟机规范则是严格规定有且只有5种情况必须先对类进行初始化(而加载,验证,准备要在这个之前开始) 1.创建类的实例(new的方式),访问某个类的静态变量,或者对该静态变量赋值,调用类
-
PHP之修改php.ini文件上传大小的配置问题案例讲解
php.ini php.ini文件保存了php的一些重要属性,例如现在要说的文件上传的一些限制条件,关于php.ini,有一篇很好的介绍:php.ini文件详解,在Windows系统中编写php的时候,我们一定见过这个画面(来源百度): 在这个网页我们就可以看到圈起来的部分标明了php.ini文件的位置,今天在Linux服务器上测试一个php文件的时候,结果打开页面是这样: 那么我们怎样获取php.ini的位置信息呢? 方法一是写个测试php页面使用phpinfo()函数输出一下,但是Linux
随机推荐
- php strstr查找字符串中是否包含某些字符的查找函数
- Python查看多台服务器进程的脚本分享
- sqlserver巧用row_number和partition by分组取top数据
- jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
- 让多个输入框中的内容同时变化的js代码
- JS 操作符整理[推荐收藏]
- 用php制作简单分页(从数据库读取记录)的方法详解
- java中form以post、get方式提交数据中文乱码问题总结
- JavaScript常用本地对象小结
- jQuery 设置 CSS 属性示例介绍
- ASP.NET和MSSQL高性能分页实例代码
- jquery实现全屏滚动
- jQuery得到多个值只能用取Class ,不能用取ID的方法
- Bootstrap3下拉菜单的实现
- php-fpm可执行文件出现乱码的解决方法
- 基于从request获取各种路径的方法介绍
- Linux curl命令详解
- Python简单实现查找一个字符串中最长不重复子串的方法
- Visual Studio卸载不完全问题的解决方法
- 微信小程序实现的绘制table表格功能示例