热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于docker:laradock-笔记

laradock笔记官网文档中文文档装置步骤首先将Laradock我的项目代码克隆到本地:{代码}进入laradock目录将env-example重命名为.env:{代码}而后在.env中批改镜像构建过程中Linux软件源为国内镜像免得镜像构建过程中呈现网络超时问题:{代码}构建镜像&启动容器:{代码}nginx镜像构建在
laradock 笔记
  • 官网文档
  • 中文文档

装置步骤

  1. 首先将 Laradock 我的项目代码克隆到本地:
git clone https://github.com/Laradock/laradock.git
  1. 进入 laradock 目录将 env-example 重命名为 .env:
cp env-example .env

而后在 .env 中批改镜像构建过程中 Linux 软件源为国内镜像免得镜像构建过程中呈现网络超时问题:

CHANGE_SOURCE
# If you need to change the sources (i.e. to China), set CHANGE_SOURCE to true
CHANGE_SOURCE=true
# Set CHANGE_SOURCE and UBUNTU_SOURCE option if you want to change the Ubuntu system sources.list file.
UBUNTU_SOURCE=aliyun
  1. 构建镜像 & 启动容器:
docker-compose up -d nginx mysql redis beanstalkd

nginx 镜像构建在 php-fpm 之上,php-fpm 构建在 workspace 之上,所以启动 nginx 会先启动 workspace 和 php-fpm。

如果指定端口曾经被占用,运行上述命令会报错,敞开相应的服务再从新运行上述命令即可。

如果在 Windows 零碎中上述指令构建镜像过程中报错:

/tmp/sources.sh: not found

可参考这个 issue 解决:https://github.com/laradock/l…。

  1. 关上 Laravel 我的项目的 .env 文件并增加如下配置:
DB_HOST=mysql
# 这里填写容器的名称(比方:laradock_redis_1)或者容器的 ip 地址(比方:172.28.0.5)也能够
REDIS_HOST=redis
QUEUE_HOST=beanstalkd

其余命令

  • 构建镜像 & 启动容器
docker-compose up -d nginx mysql redis beanstalkd
  • 从新构建容器
# 比方:从新构建 mysql 容器
docker-compose build mysql
  • 减少一个我的项目之后,重启 Docker 的 nginx
docker-compose up -d nginx
  • 列出容器
# 列出正在运行的容器
docker ps

# 如果你只想看以后这个我的项目的容器,你也能够执行上面这个命令
docker-compose ps
  • 重启以后这个我的项目中的所有容器(如果你不想一个一个的开启每一个容器,能够不便的执行这条命令)
docker-compose restart
  • 敞开容器
# 敞开所有正在运行的容器
docker-compose stop

# 进行单个容器
docker-compose stop {container-name}
  • 进入容器
# 应用上面的命令进入任意容器
docker-compose exec {container-name} bash

# 进入 mysql 容器
docker-compose exec mysql bash

# 进入 mysql 并在 mysql 容器中应用命令提示符
docker-compose exec mysql mysql -u homestead -psecret

# 进入 workspace 容器,执行比方(Artisan, Composer, PHPUnit, Gulp, ...)等命令
docker-compose exec workspace bash
  • 删除所有现有容器
docker-compose down
  • 查看日志文件
    NGINX 日志文件存储在logs/nginx目录中
    然而要查看其余容器(Mysql,PHP-FPM,…)的日志,能够运行以下命令
docker-compose logs {container-name}

docker-compose logs -f {container-name}

在 laradock 中装置 swoole

在本地装置的话,以 Laradock 为例,须要在 laradock 目录下的 .env 中将上面两行配置值设置为 true:

WORKSPACE_INSTALL_SWOOLE=true
PHP_FPM_INSTALL_SWOOLE=true

而后运行 docker-compose build php-fpm workspace 从新构建 Docker 容器,构建实现后重启这两个容器,进入 workspace 容器,运行 php -m 查看 Swoole 是否装置胜利,如果扩大列表蕴含 swoole 则示意装置胜利。

其余须要注意事项

laravel 框架中,如果配置不失效,请留神清理下 laravel 的缓存

php artisan config:clear

查看下是否开启了 5200 端口

装置 netstat 命令,查看端口
apt-get update
apt-get install net-tools
netstat -ntlp

netstat -ant | grep 5200

端口映射开启形式

  1. 进入 laradock/docker-compose.yml

workspace 下的 ports 中新增

  ports:
    - "${WORKSPACE_SSH_PORT}:22"
    - "${WORKSPACE_VUE_CLI_SERVE_HOST_PORT}:8080"
    - "${WORKSPACE_VUE_CLI_UI_HOST_PORT}:8000"
    - "${WORKSPACE_PORT}:5200"     /**这一行为新增的行,也能够间接在这里加 5200:5200 这样加了之后,就不再须要在 .env 中设置变量了**/
  1. 进入 .envWORKSPACE 下最初一行减少

WORKSPACE_AST_VERSION=1.0.3
WORKSPACE_VUE_CLI_SERVE_HOST_PORT=8080
WORKSPACE_VUE_CLI_UI_HOST_PORT=8001
WORKSPACE_INSTALL_GIT_PROMPT=false
WORKSPACE_PORT=5200  /**这一行为新增的行,其实就是设置步骤 1 中的变量**/

有些博客说还须要在 laradock/workspace/Dockerfile 文件的最初增加一行,申明凋谢端口: EXPOSE 5200,这里,我并没有做这一步,同样也胜利了,如果你没有胜利,你加上去之后再试试看吧

  1. 强制从新创立 workspace 容器
docker-compose up -d --force-recreate workspace
  1. 重启 docker-compose
docker-compose restart 

docker ps
  1. 测试端口是否开明胜利
telnet 127.0.0.1 5200

# 或者间接查看容器的端口列表中是否含有你所须要开明的端口
docker port {container-name}
# 比方,如下
docker port laradock_workspace_1

原文连贯地址


推荐阅读
  • 如何通过swoole加速laravel的问题?
    这篇文章主要介绍了关于如何使用swoole加速laravel,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下再来复习一下吧,导致php慢的各种因素中解析性语言的 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了未找到类'MaddHatterLaravelFullcalendarServiceProvider'相关的知识,希望对你 ... [详细]
  • php composer 安装,phpstudy  composer 使用安装
    本人是windows系统phpstudy是最新2018版本以安装laravel框架为例子一如图一,点击phpComposer出现系统指令框,根据指令框路 ... [详细]
  • php怎么做rpc通信(RPC通信)
    导读:很多朋友问到关于php怎么做rpc通信的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!本文目录一览: ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 【前端工具】nodejs+npm+vue 安装(windows)
    预备先看看这几个是干嘛的,相互的关系是啥。nodejs是语言,类比到php。npm是个包管理,类比到composer。vue是个框架&# ... [详细]
  • laravel 使用腾讯云 COS5全教程
    laravel使用腾讯云COS5全教程一下载首先第一步肯定是用composer把包安装下来,这里是laravel5.8版本的,所以我用的是cos5 ... [详细]
  • php怎么创建项目目录,ThinkPHP 5.1自动生成模块及目录、文件
    试用一下ThinkPHP5.1这最新版的TP框架,创建项目很简单,在web根目录使用composer搞定:composercreate-p ... [详细]
  • 如何调试php网站,如何调试php网站
    常用调试方式通过浏览器打印信息进行调试方法在代码中添加echo、var_dump、print_r和exit,在浏览器中查看输出。优缺点优点:简单 ... [详细]
  • 支持composer的php,composer配置
    本文目录一览:1、PHP与composer结合-使用命名空间实现文件自动加载 ... [详细]
  • Composer是PHP的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。下载Composer的可执行文件局部安装要真正获取Composer ... [详细]
  • php框架PHPixie与Laravel的比较
    版本系统这两个框架都是迭代非常快速的框架。它们都不同于symfony,后者的变化要慢得多,甚至2.7和3.0版本之间的差异也不是很大。但是,如果将其与Linux发行版进行比较,则Symfony类似于Debian,Laravel类似于Ubuntu,PHPixie类似于Arch。 ... [详细]
  • 哪里有php培训(php培训哪家好)
    导读:今天编程笔记来给各位分享关于哪里有php培训的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: ... [详细]
  • 1.使用升级命令update的问题composerupdate提示下面的错误:1、Warning:Thisdevelopmentbuildofcomposer ... [详细]
author-avatar
mobiledu2502931637
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有