我一直在使用mac上的docker,所以我需要安装boot2docker才能使它工作.
我有一个非常强大的机器和一个非常耗费资源的应用程序,所以我想将可用内存从默认值1GB增加到8GB.
这就是我尝试过的
使用--memory参数引导boot2dock
boot2docker --memory=8116 boot
Run Code Online (Sandbox Code Playgroud)
更改配置文件
Verbose = true
VBM = "VBoxManage"
SSH = "ssh"
SSHGen = "ssh-keygen"
SSHKey = "/Users/mjsilva/.ssh/id_boot2docker"
VM = "boot2docker-vm"
Dir = "/Users/mjsilva/.boot2docker"
ISO = "/Users/mjsilva/.boot2docker/boot2docker.iso"
VMDK = ""
DiskSize = 20000
Memory = 8116
SSHPort = 2022
DockerPort = 2375
HostIP = "192.168.59.3"
DHCPIP = "192.168.59.99"
NetMask = [255, 255, 255, 0]
LowerIP = "192.168.59.103"
UpperIP = "192.168.59.254"
DHCPEnabled = true
Serial = false
SerialFile = "/Users/mjsilva/.boot2docker/boot2docker-vm.sock"
Run Code Online (Sandbox Code Playgroud)
然后启动boot2docker
boot2docker boot
Run Code Online (Sandbox Code Playgroud)
这些方法似乎都不起作用.我最终只有默认内存. …
如果我在booterdd中键入以下命令,如docker网站上所示:
curl -L https://github.com/docker/compose/releases/download/1.1.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
Run Code Online (Sandbox Code Playgroud)
当我键入以下命令来检查安装是否成功时,我得到:
/usr/local/bin/docker-compose: line 1: syntax error: unexpected newline
Run Code Online (Sandbox Code Playgroud)
那么,如何在boot2docker上安装docker-compose?
我正在尝试创建一个容器来运行程序.我正在使用预先配置的图像,现在我需要运行该程序.但是,这是一个机器学习程序,我需要从我的计算机运行数据集.
该文件太大,无法复制到容器中.如果容器中运行的程序在我的计算机的本地目录中搜索数据集,那将是最好的,但我不知道如何做到这一点.
有没有办法用一些docker命令做这个引用?还是使用Dockerfile?
我正在尝试编写一个docker文件,它将运行一个RUN命令来搜索package.json文件中的一个单词并对其进行操作:
这是我简单的dockerfile:
FROM ubuntu:14.04
COPY package.json package.json
RUN if grep -q "grunt" package.json; then echo succeed fi
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我只想要一个简单的if语句,但它会出现这个错误:
Step 2 : RUN if grep -q "grunt" package.json; then echo succeed fi
---> Running in af460df45239
/bin/sh: 1: Syntax error: end of file unexpected (expecting "fi")
INFO[0001] The command [/bin/sh -c if grep -q "grunt" package.json; then echo succeed fi] returned a non-zero code: 2
Run Code Online (Sandbox Code Playgroud)
我该怎么办命令?谢谢.
我已经在Windows上准备好了我的代码,但我发现分享给boot2docker并不容易.
我还发现boot2docker无法持久化我的更改.例如,我/temp在重新启动boot2docker后创建了一个文件夹.此文件夹消失,非常不方便.
当你在Windows上有一些代码时,你的方式是什么,但你需要将它们停靠?
---更新---
我尝试更新VirtualBox中的设置并重新启动boot2docker,但它不能在我的机器上运行.

docker@boot2docker:/$ ls -al /c total 4 drwxr-xr-x 3 root root 60 Jun 17 05:42 ./ drwxrwxr-x 17 root root 400 Jun 17 05:42 ../ dr-xr-xr-x 1 docker staff 4096 Jun 16 09:47 Users/
我知道如何用dns设置创建一个新的docker-machine
docker-machine create -d virtualbox --engine-opt dns=8.8.8.8 my_machine
Run Code Online (Sandbox Code Playgroud)
但是已经有一个"默认"的虚拟机,所以有没有办法改变它的dns?
我在线阅读使用boot2docker的方法,但该工具已被弃用,而docker-machine已取代它.不幸的是,它是如此新鲜,以至于我没有在网上找到这方面的内容.
我在ubuntu 14.04上运行它并设置docker0为静态IP,然后通过防火墙从公共IP路由到.我正在尝试将我的后端API设置为在docker容器中运行,并且被一些事情搞糊涂了.
1.)我如何将docker0ip 映射到容器的ip,以便docker0知道将传入的数据包发送到容器(如果可能,动态地).
2.)如果还没有以这种方式完成,我怎么能这样做,以便每当我重新运行该docker容器时我都不必设置它?
提前致谢!
我想使用ssh-agent将我的密钥转发到docker镜像并从私有github仓库中取出.
我在Yosemite上使用了一个稍微修改过的https://github.com/phusion/passenger-docker和boot2docker.
ssh-add -l
...key details
boot2docker up
Run Code Online (Sandbox Code Playgroud)
然后我使用我在很多地方看到的命令(即https://gist.github.com/d11wtq/8699521):
docker run --rm -t -i -v $SSH_AUTH_SOCK:/ssh-agent -e SSH_AUTH_SOCK=/ssh-agent my_image /bin/bash
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用:
root@299212f6fee3:/# ssh-add -l
Could not open a connection to your authentication agent.
root@299212f6fee3:/# eval `ssh-agent -s`
Agent pid 19
root@299212f6fee3:/# ssh-add -l
The agent has no identities.
root@299212f6fee3:/# ssh git@github.com
Warning: Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts.
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud) 在以下IP下,我的容器在我的Webbrowser中成功运行
我还创建了一个卷来在我的容器和我的文件系统之间共享文件
docker run --name lampf -d -p 32775:80 -v /Users/sja/Sites/lamkepf2:/var/www/html --link=lampf_db:db codinglimo/apache_php540_gs_imgmck_pdflib9
Run Code Online (Sandbox Code Playgroud)
现在我使用以下xdebug.ini在我的容器中成功安装了xDebug
zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so"
xdebug.remote_enable=on
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=0
xdebug.profiler_output_dir="/temp/profiledir"
Run Code Online (Sandbox Code Playgroud)
PHPStorm也已配置
http://img2.picload.org/image/iowdpww/xdebug.png
但是我的index.php中的断点被忽略了?我的错是什么?
问题是在谢尔盖的帮助下解决的
我的新xdebug.ini
zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so"
xdebug.remote_enable=on
#xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_connect_back=On
xdebug.remote_handler=dbgp
xdebug.profiler_enable=0
xdebug.profiler_output_dir="/temp/profiledir"
Run Code Online (Sandbox Code Playgroud)