在 mysql docker hub页面有关于如何创建用户的参考: MYSQL_USER, MYSQL_PASSWORD 但是如何在docker-compose.yml文件上指定这些参数? 到目前为止,我有: mysql: image: mysql:5.7 ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: R00t+ 另一个问题;如何从容器外部连接到MySQL主机?在容器中,我可以使用: 连接 $user = 'root'; $pass = 'R00t+'; $server = 'mysql'; $dbh = new PDO( "mysql:host=$server", $user, $pass ); 解决方案 关于密码,您正在设置与设置root密码完全相同的所有参数,即: mysql: image: mysql:5.7 ports: - "
以下是关于 virtual-machine 的编程技术问答
docker 最佳实践指导说: " ...您只能在一个容器中运行一个过程..." NGINX和PHP-FPM应该在单独的容器中运行吗?还是这意味着微服务体系结构仅在容器中运行一个服务或"应用程序"? 将这些服务在一个容器中似乎更容易部署和维护. 解决方案 根据用例,您 can 在一个容器中运行多个过程,尽管我不建议这样做. 从某种意义上说,在不同的容器中运行它们更简单.保持容器较小,无状态以及一份工作周围的工作,使其更容易维护所有工作.让我告诉您我与容器的工作流程如何处于类似情况. so: 我有一个带有NGINX的容器,它暴露于外界(:443,:80).在此级别上,管理配置,TLS证书,加载平衡器选项等很简单. 一个带有应用程序的一个(或更多)容器.在这种情况下,该应用程序具有PHP-FPM容器. Docker Image是无状态的,容器安装并共享静态文件的卷,等等.此时,您可以随时销毁和重新创建应用程序容器,使负载平衡器启动和运行.另外,您
PHP是否具有Java这样的虚拟机? 解决方案 是. 独立于平台PHP运行,将脚本编译为相同的字节码并由Zend Engine运行. 与Java的区别在于,此编译的代码通常不会存储到单独的文件中,并且在每个执行中都重新编译了脚本(但是,请参见OpCode Caches). 其他解决方案 Zend Engine和典型的JVM之间的另一个重要区别是他们执行字节码: Zend Engine直接执行(解释)编译字节. (至少这就是我认为发生的事情.我无法从Zend在线文档中确认这一点!) JVM通常会使用JIT编译器将字体编码器编译为本机说明,然后执行本机指令. 实际上,JVM行为比这更复杂. JVM并不总是将本机代码编译为本机代码,并且当它们这样做时,它们通常会延迟JIT汇编,直到他们认为值得这样做.在此之前,他们直接执行字节码. 其他解决方案 是的,但是直到最近,它就像Java的JVM一样.它是由Facebook发明的,并在前一周(2013年
是否有可以将其状态保存到文件然后重新加载状态的Java VM? 如果是,哪个? 解决方案 在您的情况下可能与之相关的另一个选项是在虚拟机内运行JVM(任何JVM).大多数虚拟机都提供存储和恢复状态的选项,因此您应该可以重新启动PC,在恢复后启动VM并将Java Process从原位拾取. 我使用VMware播放器在工作中对IE进行测试,并且在关闭并重新打开它时如上所述.当应用程序在VM中做任何值得注意的事情时,我通常不会这样做,但是只要它们无法访问任何外部资源(例如网络插座),我希望它能起作用. 其他解决方案 连续可能是您正在寻找的东西: [...]一流的连续性,是构造 为编程语言提供了 能够保存执行状态 任何观点,然后返回到这一点 程序中的稍后点. java至少有两个延续库: rife contrumutation href =" http://jakarta.apache.org/commons/sandbox/javaflow/" rel =
艰巨的任务: 每当我尝试停止或杀死跑步容器时,我都会被拒绝作为守护程序的错误响应. 我刚刚开始学习如何使用Ubuntu18.04 VM使用Docker.我第一次运行一个容器.我无法阻止它,但至少它正在运行.现在,在我尝试运行另一个图像" furtuas/daisitory:image_available_first_ms"之后,一切都会变得更糟. 两个容器正在运行,我无法阻止它们的不可能. 我试图重新启动Docker,但这些容器仍在运行,而Localhost不再起作用. 也许它发生在BC,我像 之前一样在同一主机上跑了 我不熟悉Docker,Ubuntu,终端等.我感谢初学者的详细答案 $ docker info Containers: 2 Running: 2 Paused: 0 Stopped: 0 Images: 8 Server Version: 18.09.1 Storage Driver: overlay2 Backing Filesystem: ex
我正在通过Jmeter测试一个网站,但其所有组件都说LMS CMS MongoDB和MySQL都在同一单个VM中 如何查看其单独使用统计信息? 最好在图中 解决方案 您可以捕获每个过程的资源利用率.有关详细信息,您可以参考:首先保存NMON日志,然后使用NMON Analyzer绘制图形. 其他解决方案 您需要监视要在该VM上监视的每个服务的过程.例如,如果您想监视和记录前10个CPU饥饿的进程到Linux中的日志文件,请使用以下命令: while true; do (echo "%CPU %MEM ARGS $(date)" && ps -e -o pcpu,pmem,args --sort=pcpu | cut -d" " -f1-5 | tail) >> ps.log; sleep 5; done 然后,您可以利用日志文件中的数据相应地绘制图形.另一个选项是使用第三方APM工具(例如New Relic或App Dynamics)监视您的VM,您也可以为所
我在Azure上有VM.拥有Windows Server 2012 R2和位置是West US区域. 当我从印度获得该VM的RDC时.它加载非常缓慢.即使在RDC之后,点击也需要时间来响应. 我在VM上运行了一些应用程序,这些应用程序也非常慢. 您能帮我吗? 解决方案 如果您的位置是印度,则为最佳结果,您应该在最近的东南亚区域创建VM.还请检查VM大小并根据要求进行配置. 请参考以正确的方式创建VM: http://blogs.msdn.com/b/buckwoody/archive/2013/04/17/creating-a-windows-azure-virtual-virtual-machine-machine-machine-the-right-way.aspx 其他解决方案 使用Azure Monitoring仪表板查看VM的CPU百分比和内存(VM->选择VM-> Monitor选项卡),如果它们已达到70-75%以上,则考虑将VM升级
我正在尝试加快编译我的应用程序所花费的时间,而我正在调查的一件事是检查哪些资源(如果有)可以添加到构建机器中以加快速度.为此,我如何弄清楚我是否应该投资更多的CPU,更多的RAM,一个更好的硬盘,或者该过程是否受到其他资源的约束?我已经看到了这个(如何检查应用CPU结合还是在内存的?)正在寻找更多提示和指针. 到目前为止我尝试过的是: 时间构建计算机上的过程与我本地计算机上的过程.我发现构建机是我的机器的两倍. 运行"资源监视器",并在流程运行时查看CPU的使用,内存使用和磁盘用法 - 在执行此操作时,我很难解释数字,主要是因为我不了解每列含义以及如何转化为虚拟机与物理盒及其对多CPU盒的含义. 解决方案 开始>运行> perfmon.exe 性能监视器可以绘制许多系统指标,您可以使用这些指标来推断瓶颈包括CPU负载,IO操作,PageFile命中等. 此外,平台SDK现在包括一个称为Xperf的工具,该工具可以提供与开发人员更相关的信息.
我想全面了解Docker容器的运行时间性能成本.我已经找到了提到我还发现了对运行时间成本的参考为"可忽略"和"接近零",但我想更确切地知道这些成本是多少.理想情况下,我想知道什么Docker在没有性能成本的情况下抽象出来的docker正在抽象.网络,CPU,内存等 此外,如果有抽象成本,是否有方法可以解决抽象成本.例如,也许我可以直接在Docker中直接安装磁盘. 解决方案 一张出色的2014 IBM研究论文" 虚拟机和Linux容器的更新性能比较".提供裸金属,KVM和Docker容器之间的比较.总体结果是: Docker几乎与本地性能相同,并且在每个类别中都比KVM快. 例外是Docker的NAT - 如果您使用端口映射(例如docker run -p 8080:8080),那么您可以期望在潜伏期中受到较小的命中,如下所示.但是,您现在可以在启动Docker容器时使用主机网络堆栈(例如,docker run --net=host),该容器将与本机列相同(如Redis延
我正在尝试设置Pentaho Biserver,并遵循所需的所有步骤;但是,这是我尝试连接到LocalHost8081时遇到的错误(我已将端口更改为8080,因为Oracle使用了8080).我在Oracle DB VM上这样做,因此它是一个Linux环境. 这是网站上的错误: HTTP Status 404-/pentaho/home type status report message/pentaho/Home 这是catalina.out日志文件: description The requested service is not available. Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 Jun 13, 2016 12:12:38 PM org.apache.catalina.core.AprLif
我在Windows 2016服务器上使用Hyper-V,问题是Linux Virtual Machine的VHDX文件的大小.他们以轻速成长.例如,我有Linux Mint,在磁盘使用实用程序中,我看到125,4 GB可用/133,7 GB. VHDX文件为40GB. 我尝试的是: - 在Hyper-V中收缩, - 在VM中使用E4DEFRAG, - 使用dd如果=/dev/Zero of = piafile bs = 1m;同步; rm在VM中ipafile. 之后,我有40GB.有什么建议么?我该怎么办? 解决方案 几个小时后,我找到了解决方案. 首先登录您的访客操作系统(在我的情况下,Linux Mint)并清洁文件系统(删除缓存/缩略图文件,apt-get clean等). 运行以下命令: cat /dev/zero > zero.file sync rm zero.file 关闭机器. 在Hyper-V机器上打开命令提示符,然后输入: d
以下这些说明我设置了一个远程桌面在Google云虚拟机上运行的计算机.我的浏览器可以控制一个功能完美的Ubuntu 20.04 LTS机器.我一个人留了几分钟,现在屏幕已锁定: 我以前没有指定任何密码.一个简单的输入不让我进入. 如何重新获得对这台机器的控制? 解决方案 您可以使用SSH连接到VM,然后使用sudo su登录.然后,您可以使用passwd USER_NAME 更改任何用户的密码 其他解决方案 对我来说,这些解决方案都不再有效.尝试sudo passwd后,我得到了passwd: Authentication token manipulation error.试图从其他帖子中解决这一点,我会遇到其他错误.最简单的解决方案(最快)只是使用SSH并运行sudo systemctl restart chrome-remote-desktop@$USER,然后在大多数指令中连接到VM,您可以检查它是否由sudo systemctl status chrom
我试图将BigQuery结果作为数据框架保存.我尝试使用to_dataframe() - Uses BigQuery tabledata.list API,但它非常慢. 因此,我正在尝试使用pandas_gbq,但是当我尝试在虚拟机中的jupyterlab中导入时,我会得到此错误. 我甚至使用pip安装了,但遇到了同样的错误.有帮助吗? 解决方案 看起来此软件包未安装在JupyerLab实例上.您应该安装它(您只需要一次执行此操作)然后再次运行代码. 由于您在jupyterlab中,您可以从笔记本内导入我的shell命令,然后用导入. 例如: !pip install pandas
我安装了一个虚拟盒,然后在其中安装了Ubuntu 12.10服务器底座OS.我在其中安装了各种PHP软件包和其他软件包.我的朋友推荐我使用Vagrant,以便我可以轻松地与队友分享我的设置. 由于我当前的虚拟盒VM不是使用vagrant up创建的,所以我不确定如何打包. 文档在Vagrant上谈论包装,但开始说: : 在整个页面的其余部分工作之前,请确保虚拟 环境是通过流浪者构建的. 就我而言,我现有的VM最初不是使用Vagrant Up创建的. 如何打包我现有的VM? 解决方案 重要的是要意识到的(并且流浪文档对此不太清楚)是包装的两个"风味": 包装指南"入门" 您是参考假设您已经从流浪的基本框开始,并用vagrant up初始化了它,但您却没有.这使您可以包装您对Vagrant Base Box的任何自定义. 如果您从头开始或从"普通" VirtualBox VM启动,那么您需要创建 vagrant基本框. 指南> 有一个用于创建的
我不知道为什么,但是在停止了流浪者之后,我在VM中的所有文件都丢失了.只有一个空数据文件.当我进入它时,Putty告诉我钥匙已经改变. 我保存了一个软件包.可以帮助恢复我的VM的包装. 我真的不知道该怎么办. 非常感谢 解决方案 在某些情况下,Vagrant似乎在现有的VM重新创建了新的VM.如果您需要将现有VM重新关联到当前的Vagrant项目目录,则可以运行以下步骤: 找出在VirtualBox中注册的VM是什么:VBoxManage list vms fhenri@machine:~$ VBoxManage list vms "" {cf5c9fe6-be04-40f8-aeec-415bb0b74e37} "" {08732b8b-e80e-4707-9f4c-842bdcdb2442} "" {ced87630-c5d9-4396-9fc1-7a9277ec2f4
免责声明:我是大多数此 的新手 我昨天刚刚下载了VirtualBox,并在今天上安装了Ubuntu 10.04.我的计划是反映我计划部署到的生产/分期环境. 无论如何,我刚刚设置了nginx,我想确保安装正常工作,并且我需要访问我的Ubuntu VirtualBox安装上的Localhost. 我正在运行最新版本的狮子,其中最新版本的VirtualBox. 解决方案 您可以以两种方式之一访问客人VM,您的选择在很大程度上取决于您现有的网络基础架构和需求. 通常是在桥接模式下配置虚拟网络适配器的最简单方法.您可以通过更改网络部分/选项卡上的虚拟机设置来做到这一点.这将使您的访客操作系统出现在与主机相同的局域网段上,因此您将以同样的方式将其连接到子网上的其他主机.您应该在决定中考虑一些缺点,例如与无线网络合作. 替代方法是将网络适配器配置为NAT(通常是默认值),并像在路由器上一样配置某些端口转发选项,以允许访问主机.同样,在计算机设置的网络配置部分上,在
我确实在Oracle DB和ASP.NET MVC之间存在严重问题:如何在Visual Studio中使用Oracle DB? 我的环境是: Oracle DB(12C) Visual Stdio 2015 Windows 10带VMware 使用实体框架使用ASP.NET MVC连接Oracle DB数据 如何获得ASP.NET MVC(WebAPI)与Oracle DB(12C)正确使用? 解决方案 如何使用Oracle DB创建ASP.NET MVC,并且按照以下步骤可以告诉您如何处理此问题. step1.下载[ODAC] ( http:http://www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html )并安装它 step2.下载 oracle开发者的开发人员>并安装 步骤2.5:重新启动OS step3:配置网
我在VMware Player上有一台虚拟机:Linux CentOS上的Oracle 11G. 由于我已经两年没有使用过,所以几乎不记得任何事情,当我尝试启动DB时,它说听众已经降低了,当我尝试启动听众时,它说: TNSLSNR for Linux Version 11.2. 0.1.0 - Production System Parameter file is /oracle/product/11gR2/network/admin/listener.ora Log messages written to /oracle/diag/tnslsnr/srvlinux/listener/alert/log.xml Error listening on: (ADRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) TNS-12542: TNS:address already in use TNS-12560: TNS:protocol adater error
我正在写一款Flash游戏,在CPU上非常密集. 除了经常优化它外,我还希望能够在慢速PC的遗嘱上扮演玩家,因为我有一个很好的CPU,我也想在Bad CPU的 上也可以播放. 首先,我认为虚拟化会有所帮助,但是我尝试了使用Ubunto映像的VMware播放器,我找不到任何方法. 购买一台旧PC是不是一个选项,因为我更喜欢只有机器只有机器为此. 我需要的是类似软件底关闭器或虚拟机,我可以为CPU和RAM指定低规格. 有人知道该怎么做吗? 解决方案 Microsoft Virtual PC 是VM软件为了确定您创建的每个虚拟机的CPU,RAM设置和视频卡设置的速度.从网站: 可配置性 - 安装虚拟PC后,您可以配置它以适合您的要求.虚拟PC具有许多设置,可以控制产品如何与物理计算机进行交互,分配资源等. 我已经用它模拟了一台带有128兆RAM的400MHz PC. 编辑: 虚拟PC上的虚拟机比主机PC慢.我记得在VPC 2004中,