增加 Boot2Docker 卷大小的方法或在本地安装 docker 图像的替代方法
Way to increase Boot2Docker volume size or alternative to install docker images locally
我正在 运行使用 docker 机器在 OS X 10.10 Yosemite.[=14= 上创建本地 docker 主机]
下面的脚本创建主机,然后远程登录到 运行 第二个脚本,该脚本安装先前保存到本地压缩文件的图像。
#!/bin/bash
docker-machine create --driver virtualbox docker-stack
docker-machine docker-machine docker-stack-local
stackip="$(docker-machine ip docker-stack-local)"
sshpass -p "tcuser" scp -v -r docker_images/ docker@"${stackip}":/home/docker/
cat ssh_after.sh | docker-machine ssh ec2-01 sh
ssh_after.sh 脚本调用所需 docker 图像的安装:
#!/bin/bash
cd /home/docker/test
gunzip -c anaconda_bak.tgz | docker load
gunzip -c r-base_bak.tgz | docker load
gunzip -c git_bak.tgz | docker load
gunzip -c mariadb.tgz | docker load
很遗憾,创建的虚拟机卷太小,无法传输文件(> 1 GB)。
这是一个已知问题:
http://docs.docker.com/articles/b2d_volume_resize/
但是,该解决方案涉及调用 GUI 工具,不适用于脚本目的。
我想找到一种方法:
- 之后使用 bash 脚本调整图像大小,或者
- 找到一种方法将压缩文件的标准输出流通过 ssh 传递给docker load
请注意,修改后的脚本适用于其他 docker 机器驱动程序,包括 AWS EC2 实例。
解决方案必须涉及安装本地 docker 图像,而不是从任何类型的存储库中提取图像。
为避免混淆,这是关于将图像文件放入 docker 主机,而不是将文件装载到 docker 容器实例中。
您应该可以使用 docker-machine create --virtualbox-disk-size "35000"。将磁盘大小选项添加到构建脚本中。
我正在 运行使用 docker 机器在 OS X 10.10 Yosemite.[=14= 上创建本地 docker 主机]
下面的脚本创建主机,然后远程登录到 运行 第二个脚本,该脚本安装先前保存到本地压缩文件的图像。
#!/bin/bash
docker-machine create --driver virtualbox docker-stack
docker-machine docker-machine docker-stack-local
stackip="$(docker-machine ip docker-stack-local)"
sshpass -p "tcuser" scp -v -r docker_images/ docker@"${stackip}":/home/docker/
cat ssh_after.sh | docker-machine ssh ec2-01 sh
ssh_after.sh 脚本调用所需 docker 图像的安装:
#!/bin/bash
cd /home/docker/test
gunzip -c anaconda_bak.tgz | docker load
gunzip -c r-base_bak.tgz | docker load
gunzip -c git_bak.tgz | docker load
gunzip -c mariadb.tgz | docker load
很遗憾,创建的虚拟机卷太小,无法传输文件(> 1 GB)。
这是一个已知问题: http://docs.docker.com/articles/b2d_volume_resize/
但是,该解决方案涉及调用 GUI 工具,不适用于脚本目的。
我想找到一种方法:
- 之后使用 bash 脚本调整图像大小,或者
- 找到一种方法将压缩文件的标准输出流通过 ssh 传递给docker load
请注意,修改后的脚本适用于其他 docker 机器驱动程序,包括 AWS EC2 实例。
解决方案必须涉及安装本地 docker 图像,而不是从任何类型的存储库中提取图像。
为避免混淆,这是关于将图像文件放入 docker 主机,而不是将文件装载到 docker 容器实例中。
您应该可以使用 docker-machine create --virtualbox-disk-size "35000"。将磁盘大小选项添加到构建脚本中。