我正在尝试使用docker-machine和docker-compose。文件docker-compose.yml的定义如下:
web:
build: .
command: ./run_web.sh
volumes:
- .:/app
ports:
- "8000:8000"
links:
- db:db
- rabbitmq:rabbit
- redis:redis
运行docker-compose up-d
时,一切正常,直到尝试执行该命令并产生错误:
无法启动容器B58E2DFA503B696417C1C3F49E2714086D4E9999BD71915A53502CB6EF43936D:[8]系统错误:exec:“./run_web.sh”:stat./run_web.sh:没有这样的文件或目录
本地卷未装入远程计算机。用webapps的代码挂载本地卷的推荐策略是什么?
Docker-machine自动定位用户目录...但有时这还不够。
我不知道Docker1.6的情况,但在1.8中,您可以为docker-machine添加一个附加挂载
CLI:(仅在计算机停止时有效)
因此windows中的一个示例是
/c/Program\ Files/Oracle/VirtualBox/VBoxManage.exe sharedfolder add default --name e --hostpath 'e:\' --automount
GUI:(不要求机器停止)
(默认)
(E:)
(e)但这只有在你重启机器,然后坐骑丢失之前才是好的...
向Boot2Docker添加自动挂起:
在登录到计算机时
mkdir -p <local_dir>
mount -t vboxsf -o defaults,uid=`id -u docker`,gid=`id -g docker` <mount_name> <local_dir>
旧方法:不太推荐,但作为替代方法
>
/mnt/sda1/var/lib/boot2docker/profile
,sda1可能对您不同...添加
add_mount() {
if ! grep -q "try_mount_share $1 $2" /etc/rc.d/automount-shares ; then
echo "try_mount_share $1 $2" >> /etc/rc.d/automount-shares
fi
}
add_mount <local dir> <mount name>
作为最后的手段,您可以采用稍微繁琐一些的替代方法,您可以只修改引导映像。
>
Git-C core.autocrlf=false克隆https://github.com/boot2docker/boot2docker.git
CD Boot2Docker
Git-C Core.autocrlf=false checkout v1.8.1
#或您的适当版本rootfs/etc/rc.d/automount-shares
在末尾的fi之前添加try_mount_share
行。例如:
try_mount_share /e e
只需确保不要将设置为操作系统需要的任何内容,如/bin等。
这确实有用,只是又长又复杂
docker版本1.8.1,docker-machine版本0.4.0
问题内容: 我对Docker中的整个数据量过程有疑问。基本上,这里有两个Dockerfile及其各自的运行命令: Dockerfile 1- 命令1- Dockerfile 2- 命令2- 因此,奇怪的是第一个dockerfile和命令按预期工作。docker守护程序将目录从容器装载到主机的位置。因此,我可以根据需要编辑配置文件,它们将在重新启动后保留在容器中。 但是,对于第二个dockerfil
问题内容: 我有一个正在进行dockerizing的开发环境,并且我希望能够实时重新加载所做的更改而不必重建docker映像。我使用docker compose是因为redis是我应用程序的依赖项之一,我喜欢能够链接redis容器 我在我的中定义了两个容器: 我已经到了我应用程序的dockerfile中添加卷的地步,但是如何将主机的目录挂载到卷中,以便对代码的所有实时编辑都可以反映在容器中? 这是
问题内容: 在Docker容器中挂载主机目录非常容易。 但是我需要另一种方式。 我使用Docker容器作为开发环境来开发WordPress插件。该Docker容器包含运行WordPress所需的一切(MySQL,Apache,PHP和WordPress)。我从Docker容器中的主机挂载了我的插件src文件夹,以便可以在开发期间测试我的插件。 对于调试,如果我在主机上运行的IDE具有对Docker
假设我有一个应用程序具有这个简单的DockerFile: 然后我运行了一个容器: 所以它工作正常,并将一些日志存储在docker容器的中。 我也看到docker-mount目录从容器到主机,但它并没有解决我的问题我需要一种方法备份我的文件从Docker到主机。
我试图在我本地的电脑上使用kafka(Windows10)作为生产者,在docker容器(ubuntu)上使用spark流作为消费者。我的示例在容器中一起工作,但我需要在本地计算机上创建流。 在容器的另一边,我正在监听端口2181来接收流。 我希望你能帮助我。谢了。
问题内容: 我想将目录从docker容器挂载到本地文件系统。该目录是网站根目录,我需要能够使用任何编辑器在本地计算机上对其进行编辑。 我知道我可以运行,但是这样做只能在容器内创建一个空目录。 如何在Linux主机上的Docker容器内挂载目录? 问题答案: 如果您的目标是提供现成的LAMP,则应在Dockerfile中使用VOLUMES声明。 问题是docker不会挂载文件,因为它们已经在创建卷的