Tag: virtualbox

如何安全地连接到运行在虚拟机上的mysql服务器

我想通过在虚拟机中隔离它来提高数据库的安全性。 这里是我有什么想法 运行boot2docker的虚拟机中的docker容器上的-mysql服务器。 -virtualbox主机只有networkingconfiguration,所以我的应用程序可以连接到虚拟局域网上的服务器,stream量不能从外面看到。 使用AES的数据encryption。 我不知道如何安全地存储密钥(即时通讯使用DPAPI),哪些是build立应用程序和虚拟服务器之间的连接的最安全的方法。

在docker上运行meteor的错误

我刚刚在Docker上开始了一个meteor项目。 当meteor npm install后它运行meteor ,会出现这个错误 [[[[[ /var/app ]]]]] => Started proxy. /root/.meteor/packages/meteor-tool/.1.4.1_1.139xb76++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/isopackets/ddp/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:165 throw error; ^ Error: EPROTO: protocol error, symlink '/root/.meteor/packages/meteor-tool/.1.4.1_1.139xb76++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules' -> '/var/app/.meteor/local/.build677392.build/programs/.build850480.server/node_modules' at Error (native) 为了logging,我在Win 10上通过virtualbox运行docker。似乎问题是关于创build符号链接失败,但是我已经安装了相同的virtualbox扩展包版本,并且已经在我的virtualbox上启用了共享文件夹的符号。 还有什么其他可能性导致这个问 UPDATE 正如在这个build议把–no-bin-links到meteor npm install没有任何作用。

使用具有Vagrant的单个虚拟机跨多个项目托pipeDocker容器

我有两个单独的项目/ src /代码回购,使用Vagrant在Docker容器中运行应用程序。 我正在使用一个CentOS7主机虚拟机的stream浪汉托pipedocker容器( https://www.vagrantup.com/docs/docker/basics.html )。 我在每个项目中使用CentOS7 VM Vagrantfile( Vagranfile.host )的副本。 – proj1/ — Vagrantfile — Vagrantfile.host – proj2/ — Vagrantfile — Vagrantfile.host 每个Vagrantfile指向Vagrantfile.host启动一个CentOS虚拟机来托pipeDocker容器。 这两个项目之间唯一的区别(在这个问题上是有效的), proj1中的Vagrantfile指向的是不同于proj2中的proj2 。 当我在每个项目文件夹中进行迁移时,每个人都创build它自己的CentOS7虚拟机实例,所以我最终运行了两个单独的VirtualBox虚拟机。 有没有办法改变一个或两个Vagrantfile文件,以便最终只旋转一个虚拟机,并且这两个容器都运行在同一个VirtualBox虚拟机中?

什么configuration选项链接到其文件的WordPress数据库?

我试图恢复我的在线Wordpress网站到我的本地主机。 安装 这个小小的Dockerfile成功下载并在我的机器上的容器中运行Wordpress: version: '2' services: db: image: mysql restart: always environment: MYSQL_ROOT_PASSWORD: lkj volumes: – ./mysql:/var/lib/mysql ports: – 60001:3306 wordpress: image: wordpress:latest restart: always depends_on: – db links: – db ports: – 60000:80 environment: WORDPRESS_DB_PASSWORD: lkj WORDPRESS_DB_HOST: db working_dir: /var/www/html volumes: – ./data:/var/www/html 我可以在0.0.0.0:60000上浏览和安装默认站点,并在0.0.0.0:60000浏览MySql数据库。 还原文件 然后我用我的站点备份中的文件覆盖我的wp-content文件夹中的所有WP文件。 一切仍然有效。 (wp-config没有改变)。 还原数据库 然后我删除了wordpress数据库并创build一个新的,并运行我的在线网站的备份脚本。 所有表格都成功创build。 但是现在当我浏览到0.0.0.0:60000我得到了This site can't […]

docker和VirtualBox VM中的Apache Kafka

我试图在虚拟机中使用Apache Kafka,即一个可用于docker(wurstmeister / kafka-docker)的版本,并通过VM的主机系统连接到Docker中的kafka代理。 我将更详细地描述设置: 我的主机系统是运行在“普通”计算机上的Ubuntu 64位14.04.3 LTS(内核3.13)。 我有一个完整和复杂的各种docker集装箱相互作用的结构。 为了不打扰,或者更好的说,封装这个整个结构,不能直接在主机系统上运行docker镜像。 另一个原因是主机上需要不同的python库,这会干扰docker-compose(用于启动不同的docker镜像)所需的python-lib版本。 因此,所需的解决scheme应该是通过VirtualBox(来宾系统:Ubuntu 16.04.1 LTS)build立一个虚拟机,并完全运行该VM中的docker环境。 这具有明显的优点,即VM本身可以根据docker结构的要求精确configuration。 如上所述,其中一个docker镜像提供了kafka和zookeeperfunction,可用于通信和消息传递。 这意味着.yaml文件设置了一个运行这个映像的容器,将kafka和zookeeper的所有必要的端口转发到docker环境的主机系统(这是虚拟机VM的guest虚拟机系统)。 为了使Docker环境在主机系统中可见,我通过VirtualBox的networking设置(networking – >适配器NAT – >高级 – >端口转发)转发所有端口。 系统的行为如下: 当我运行docker-environment(包括kafka)时,我可以使用推荐的标准kafka shell脚本(producer&consumer api)来连接,使用和生成VM-kafka。 当我在VM guest系统上运行一个Kafka和zookeeper服务器时,我可以从VM(主机)之外进行连接,在生产者和消费者api上生成和使用。 当我在Docker环境中运行Kafka时,我可以从VM之外的主机系统连接,这意味着我可以看到所有主题,获取有关主题的信息,同时还可以在Docker中看到来自kafka和zookeeper的一些debugging输出。 不幸的是,不可能产生或使用来自主机系统的任何信息到/从docker卡夫卡。 从生产者API我得到一个“批次过期”exception,消费者返回一个“ClosedChannelException”。 我做了大量的search,发现了很多提示如何解决类似的问题。 其中大部分引用kafka-server.properties中的advertised.host.name参数,可通过.yaml中的KAFKA_ADVERTISED_HOST_NAME进行访问。 例如,如果发生上述错误,则引用该参数。 不幸的是,这些场景都不具备docker和VMfunction。 进一步试图修改这个参数根本没有任何影响。 尽pipe我对docker 和 kafka不是很熟悉,但是在这里我可以看到一个问题,因为kafka消费者和生产者会获得docker环境的本地IP(在NAT中是10.0.2.15)作为代理。 但不幸的是,这个IP不是从虚拟机外部可见的。 因此,解决scheme可能是一个改变的设置,在VirtualBoxnetworking中应该使用桥接模式。 奇怪的是,桥接连接(当然)通过DHCP导致VM自己的IP,这导致VM 和主机系统都无法访问docker-kafka。 这最后一个行为似乎对我来说很尴尬。 总结我的问题是,如果有人有这种或类似的情况的一些经验,并可以告诉我,如何configurationdocker卡夫卡,VirtualBox虚拟机和主机系统。 我真的尝试了很多不同的设置,消费者和生产者调用没有成功。 当然,一些docker工人,卡夫卡人或者docker工人和卡夫卡专家也都欢迎回答。 如果您需要更多信息,或者您可以提供一些提示,请让我知道。 提前致谢

docker分割错误(core dump),在这种情况下该怎么办?

root@ramcharran-VirtualBox:/home/ramcharran/src# docker run -it dll_img /bin/bash bash-4.3# python3 app.py connection to cursor registering tokenizer virtual table created inserted data into virtual table Segmentation fault (core dumped) bash-4.3# 我已经尝试增加ulimit -c无限的核心限制,没有工作。 我已经在本地成功地执行了代码,但是用docker,我似乎得到了一个我不明白的分段错误。 我试图增加没有工作的basedevice存储。 我的docker机由于某种原因没有basedevice存储。 root@ramcharran-VirtualBox:/home/ramcharran# docker info Containers: 6 Running: 0 Paused: 0 Stopped: 6 Images: 19 Server Version: 1.12.3 **Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing […]

命令“docker-machine ls”在我的mac上没有列出任何东西

我为Mac安装了最新的稳定docker工具,并且直接启动docker工具而不需要虚拟箱。 我知道它必须启动一个虚拟的盒子,所以我使用“docker-machine ls”来查找默认的机器,但是它什么都没有列出。 我怎样才能find虚拟机? 我的操作系统版本是10.10.5 PS:事实上,我没有创build任何虚拟机,但是在“alpine-oraclejdk8”映像上运行我的spring-boot应用程序,那么这是否意味着我正在使用docker? 而我想find虚拟机的原因是我用“nsenter”进入容器来debugging我的应用程序的日志,但它不起作用(“nsenter”的作者告诉我,我需要先进入虚拟机) 。 所以这是我的混淆点,如何docker运行,但我不能findMAC上的虚拟机

MAC | 在VirtualBox机器上从另一个应用程序部署在Docker上的应用程序

机器 – MAC bookPro Mac OSx 10.11.6 Docker – Docker for Mac Docker version 17.03.1-ce, build c6d412e VirtualBox – Version 5.1.22 r115126 (Qt5.6.2) 我有我的AEM(CMS)在Virtual Box上的图像上运行,使用Vagrant + Chef进行configuration。 我们明确地分配IP到框 – 192.168.xx 我们引入了一个我们希望用Docker部署的微服务(Spring boot + MySQL)。 在我的本地(MAC)上,我成功地启动了Microservice并运行了两个Docker实例(Microservice,MySQL)。 微服务公开了我需要从虚拟框中运行的AEM调用的某些端点。 这是我无法做到的事情,我的virtualbox实例无法连接到docker托pipe的应用程序(docker机器的IP在我的virtualbox中无法访问) 我使用docker撰写来让我的docker实例工作 – 这是我docker-compose.yml version: "3" services: db: #build: # context: ./registration-database image: mysql container_name: afs-mysql #network_mode: "bridge" # […]

boot2docker:没有路由到主机

我无法让Docker Toolbox for Windows 10在公司代理之后工作。 我不能得到dockerlogin或docker运行工作,所以这是我已经做了debugging。 我在虚拟机中创build了一个普通的ubuntu机器。 在我的主机上,我开始在端口8000上运行简单的服务器。 在Ubuntu中: $ curl 10.0.2.2:8000 $ [it retrieves the html being served] $ curl www.google.com $ curl (7) Failed to connect to www.google.com port 80: Connection refused $ export http_proxy=http://my-proxy:3128 $ curl www.google.com $ [302 HTTP response from google] 在boot2docker上: $ curl 10.0.2.2:8000 $ [it retrieves the html […]

简单的docker项目/过程和保存JPEG – 使用卷?

我在学习Docker。 而且我真的没有得到docker工人的权利。 所以我设置了一个简单的任务来理解它: 我用一个python脚本创build一个容器来调整一个JPEG的大小 例如: from PIL import Image from resizeimage import resizeimage with open('test-image.jpeg', 'r+b') as f: with Image.open(f) as image: cover = resizeimage.resize_cover(image, [200, 100]) cover.save('test-image-cover.jpeg', image.format) 我在哪里把input文件? 我应该创build一个卷或绑定安装,并把JPEG文件在那里? 我在虚拟机上运行Docker(Win 10上的标准Docker Toolbox安装)我在哪里可以find卷上resize的文件? 现在,我不在乎文件是否被覆盖,如果应用程序在服务器上运行,并且两个用户同时使用容器。 使用在容器中运行的python脚本来input/处理/输出文件的最简单方法是什么?