mac m1 安装docker docker 安装php 5.6 和 7.2 避坑指南

news/2024/4/29 18:07:32/文章来源:https://blog.csdn.net/wangsenling/article/details/128263868

注意:这个docker一旦下载用起来,没事不要升级,容易导致APP挂载目录找不到,重装非常浪费时间

通过该link可以下载兼容mac m1核心的docker-desktop:

Docker Desktop - Docker

所有基于amd64架构核心的都加上--platform linux/amd64来运行,这样就能愉快的玩耍了:

docker search centos7  #搜索docker images #显示所有镜像docker pull couchbase/centos7-systemd

建议使用lnmp一键安装php环境

个人还是喜欢先运行好docker,然后进入后,采用一键lnmp的方式安装,因为后面要用到nginx服务器,lnmp一键安装链接(这个可以节省你太多太多时间,linux下装软件是一个很痛苦的过程,千万别去尝试,除非你是运维):lnmp、lamp、lnmpa一键安装包(Updated: 2022-03-14) | Linux运维笔记

这里有各种php版本绝对够用了,还有php完整版的扩展,非常方便,虽然没有python的conda那么屌,但也是解决方案。

装完后,重启后环境变量不能自动引入,跟虚拟机还是有点差别:我们手动来搞

vim ~/.bashrc 尾部添加 source /etc/profile

以后重启后系统就会自动载入环境变量了。

将虚拟机配置成ssh方式可以连接:

第一步,就是暴露端口下方的连接中已经将端口暴露为1022了;

第二步,就是一轮ssh操作,具体参考链接:

(centos7)创建支持ssh服务的docker镜像_还好还好啦的博客-CSDN博客_docker 创建支持sshd的centos 镜像

yum -y install passwd openssl openssh-server openssh-clientsmkdir /var/run/sshd/sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config#以下keygen不要加口令密码,不然你链接时要输入一堆密码,比较恶心ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_keyssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_keyssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key/usr/sbin/sshd -D & #报个UsePAM啥的不能用警告,直接忽略

#改密码,就可以登陆了

passwd

解决登录特别慢的方法

# 编辑配置文件
vim /etc/ssh/sshd_config
# 关闭DNS解析
UseDNS no# 关闭GSS认证(不过我发现不关闭这个,问题也能解决)
GSSAPIAuthentication no

phpstorm中建立远程连接:

配置完成后,本地就可以使用远程的php解释器了,此外采用docker共享文件夹的方式,可以做到代码修改的是同一个位置,达到了无需再将phpstorm上传到docker中去

使用php56调试:

唯一注意点是,docker机器在mac上无法桥接,这个有点二逼,但没办法,只有用给定的host,docker才能将远程调试信息发过来,如图配置不能少:

此时右键就可以调试了。

docker run -dit --platform linux/amd64 --privileged -v /Users/senwang/workspace:/home -p 1022:22 -p 8080:80 -p 15672:15672 c13a516c5bea /usr/sbin/init

docker run -dit  --platform linux/amd64 --privileged  -p 2022:22 -p 8083:80 -p 9505:9501 --name=php72 -v /Users/senwang/workspace:/home 8ef27e80b336 /usr/sbin/init

# elasticsearch docker 配置
docker run -dit --platform linux/amd64 --privileged --name elastic -v /Users/senwang/workspace:/home -p 2202:22 -p 8088:80 -p 15672:15672 -p 9200:9200 -p 9300:9300  c13a516c5bea /usr/sbin/init

php5.6.40中xdebug没有附带安装解决方案:

这里本来不应该是个问题的,可能40是最新版,直接通过pecl无法安装,很神奇,经过比对,xdebug2.5.4对应php5.6.40,从github上找到xdebug,进行编译安装:

GitHub - xdebug/xdebug at XDEBUG_2_5_4  下载zip,解压,然后按照github的步骤,一步步搞下来,就装成功了

在配置xdebug.ini时,参照以下截图,docker访问宿主机时必须是要docker自己提供的host才能访问,再次强调

[xdebug]zend_extension=xdebug.soxdebug.remote_enable=1xdebug.remote_host=docker.for.mac.host.internalxdebug.remote_port=9000

配置完毕后,就可以用远程解释器调试代码了

进如docker命令:

docker exec -it 容器ID /bin/bash

通过docker ps -a 可以查看容器ID

学习docker入门,直接看bilibili的狂神说docker,通俗易懂,看完就会了:【狂神说Java】Docker最新超详细版教程通俗易懂_哔哩哔哩_bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_233619.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IEEE 二进制浮点数的表示

今天,我来将 IEEE 二进制浮点数的表示方式进行一个简单的介绍。 浮点数 在 C 语言中,有两种存储浮点数的方式,分别是 float 和 double ,当然了还有long double。这几种浮点型所容纳的长度不同,当然它们存储的精度也就…

springBoot中日志的使用

springBoot中日志的使用 日志基础 首先你需要知道日志门面,日志实现,日志桥接器。 基于日志实现,常用的有logback,log4j2,这两个日志实现是的创始人是同一个,概念差不多,这里以log4j2为例,有如…

经矩形窗截断的信号频谱泄露现象研究-附Matlab代码

⭕⭕ 目 录 ⭕⭕✳️ 一、频谱泄露现象✳️ 二、原因分析以及解决方法✳️ 三、Matlab程序获取与验证✳️ 一、频谱泄露现象 有一个余弦信号,信号频率30Hz,信号为x(t)cos(2π30t),采样频率fs128Hz,样本长度分别取N128和N100&…

Android 使用 jni Demo示例

Android 使用 jni Demo示例简介1. NDK的介绍1.1 NDK 简介1.2 NDK 特点2. JNI介绍2.1 JNI 简介2.2 为什么要有 JNI?3. NDK 与 JNI 的关系NDK下载及环境配置1. 使用Android studio SDK Manager下载2.配置NDK2.1 配置环境变量2.2 Android studio配置NDK示例Demo流程1.版…

【云原生】devops之jenkins中pipeline语法(2)

前言: pipeline语法分类一般来说,有四种。分别是环境配置、阶段步骤、行为动作、逻辑判断。 二、阶段步骤 (1)post 根据pipeline块或者stage块(阶段)完成的状态来进行一个或者多个附加步骤(取决…

Gaussian 计算静电云图确定吸附位点

计算背景: 利用高分子有机物等活性材料对有毒分子、原子、离子在真空、水溶液、有机溶液等环境下吸附,已是当今环境科学、矿物学、土壤化学等学科领域研究的热点。但如何确定最佳吸附位点以计算其吸附能就显得尤为重要。 现阶段多数物质的吸附均依据粒…

【通信基础】TTL、RS232、RS485

TTL1、TTL简介RS2321、RS232基本概念2、DB9串口定义及接线参考3、RS232经典电路4、特点RS4851、RS485简介2、特点3、传输距离4、经典电路5、传输差分电平信号TTL 1、TTL简介 TTL的英文全称是Transisor-Transisor Logic. 翻译过来就是晶体管与晶体管之间的逻辑电路。 TTL电平信…

Java搭建宝塔部署实战毕设项目springboot销售培训考评系统源码

大家好啊,我是测评君,欢迎来到web测评。 本期给大家带来一套Java开发的毕业设计项目springboot销售培训考评系统源码。 技术架构 技术框架:jQuery MySQL5.7 mybatis shiro Layui HTML CSS JS jpa运行环境:jdk8 IntelliJ…

Python 可迭代对象(Iterable)、迭代器(Iterator)与生成器(generator)之间的相互关系

1、迭代 通过重复执行的代码处理相似的数据集的过程&#xff0c;并且本次迭代的处理数据要依赖上一次的结果继续往下做&#xff0c;上一次产生的结果为下一次产生结果的初始状态&#xff0c;如果中途有任何停顿&#xff0c;都不能算是迭代。 # 非迭代例子 n 0 while n < …

java之注解的定义和使用

初识注解&#xff1a; 注解的概念&#xff1a; 注解是从JDK5.0开始引入的新技术&#xff0c;它不是程序本身&#xff0c;但是和注释有相同的作用&#xff0c;都能够对程序做出一定的解释&#xff0c;并且注解能够被其他编译器所读取 注解的格式&#xff1a; 注解是以“注释…

平均月薪15k+?自动化测试工程师?3个月教你从“点工”蜕变为“码农”

前言 一、自动化测试工程师平均收入【看图&#xff08;来自职友集&#xff09;】 基本收入都在15k左右&#xff0c;随着技术的越来越牛逼工资也就会越来越高。 我的职业生涯开始和大多数测试人一样&#xff0c;刚开始接触都是纯功能界面测试。那时候在一家电商公司做测试&…

[附源码]计算机毕业设计基于人脸识别的社区防疫管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

SSRF漏洞详解与利用

今天继续给大家介绍渗透测试相关知识&#xff0c;本文主要内容是SSRF漏洞详解与利用。 免责声明&#xff1a; 本文所介绍的内容仅做学习交流使用&#xff0c;严禁利用文中技术进行非法行为&#xff0c;否则造成一切严重后果自负&#xff01; 再次强调&#xff1a;严禁对未授权设…

迭代器和生成器

文章目录迭代器和生成器图解迭代器和生成器的关系迭代器容器生成器yield函数生成器表达式总结迭代器和生成器 图解迭代器和生成器的关系 图1-1​ 不管是生成器还是我们的容器&#xff0c;最终都是迭代器&#xff0c;使用next方法进行有规律的获取元素&#xff0c;不需要将元素…

五问补盲(二) | 补盲激光雷达,角分辨率真的是越小越好吗?

HiEV消息&#xff08;文&#xff1a;爱LiDAR的小飞哥&#xff09; 如何简单地判断一款补盲激光雷达的成像效果&#xff1f; 业界通常有几个指标&#xff1a;视场角大小、测距范围&#xff0c;以及角分辨率。 一款优秀的补盲激光雷达&#xff0c;通俗来说&#xff1a;既要看得…

rtl8221b+mcu,2.5g光纤收发器的开发备份

1、rtl8221b是一款2.5g的光电转换的phy 系统的构建如下 为了省成本&#xff0c;不用mac来对接其中的gmii接口直接接光模块 2、mdio和mdc由mcu的gpio来模拟&#xff0c;在csdn上有很多的文章来参考 mdio的参数如下 不想看英文可以参考下面的文章 MDIO(clause 22 与 clause 4…

微服务框架 SpringCloud微服务架构 微服务保护 31 限流规则 31.2 流控模式【关联】

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 微服务保护 文章目录微服务框架微服务保护31 限流规则31.2 流控模式【关联】31.2.1 流控模式31.2.2 流控模式 - 关联31.2.3 小结31 限流规则…

Python模块fileinput操作文件和目录操作总结

前言 之前介绍Python的 pathlib 模块可以有效的路径及文件查找等方便操作&#xff0c;本篇介绍一个相对 readlines() 获取文件内容更高效的用法 fileinput模块 对一个或者多个文件的内容迭代遍历&#xff08;类似文件操作的readlines()&#xff09;,但是返回的是迭代对象&…

【Linux】四、Linux 进程概念(三)|进程优先级|环境变量

目录 七、进程优先级 7.1 基本概念 7.1.1 什么是优先级 7.1.2 为什么存在优先级 7.1.3 Linux 优先级特点 7.2 查看系统进程 7.3 PRI 和 IN 7.4 查看进程优先级和更改进程优先级 7.5 其它概念 7.6 进程切换 八、环境变量 8.1 环境变量基本概念 8.2 常见环境变量 8…

English Learning - L1 站在高处建立灵魂 2022.12.5 周一

English Learning - L1 站在高处建立灵魂 2022.12.5 周一1.1 到底什么是语法1.2 为什么要学习语法口语分广义和狭义讲母语的人为啥不学语法&#xff1f;作为一名二语习得者口语中可不可以没有有语法&#xff1f;1.3 英语&#xff08;听说读写&#xff09;的核心金字塔理论关于词…