我下载并安装了Docker for Windows 1.12.1,后者又安装了docker-machine和docker-compose.我没有安装"Docker Toolbox",因为它与安装的内容重复,我的系统符合要求.
一切似乎工作正常,除了docker-machine,我正在运行一个教程,当我运行各种docker-machine命令,如"ip"或"env"时,我得到以下消息.
Error: No machine name(s) specified and no "default" machine exists.
Run Code Online (Sandbox Code Playgroud)
因此,当我执行"docker-machine ls"时,即使我安装了Hyper-V docker机器并且docker命令工作正常,列表中也没有任何内容.
C:\tmp>docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
C:\tmp>
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么吗?我是否遗漏了文档中的内容?如果是这样,有人可以指出我正确的方向来解决这个问题吗?
谢谢你的帮助,
吉姆
在使用docker容器时开发应用程序时我没有得到一些东西.
让我说我正在开发一个java应用程序,我设置了一个带有jdk 8基本映像的java容器,我仍然需要在我的本地开发机器上安装java 8 jdk,因为我要使用的IDE将寻找运行时本地计算机上的库而不是docker容器.
这是对的还是我错过了什么?有些事情我可以完全在docker容器上做,比如设置一个数据库,但是我还需要在我的本地开发机器上做一些事情,并尝试将它与我的docker镜像匹配,例如像java或python这样的语言运行库为了使用IDE.
containers docker docker-compose docker-swarm docker-machine
我在哪里可以在boot2docker机器上找到docker daemon配置文件?
根据这个话题:Dockerfile:Docker构建无法下载包:centos-> yum,debian/ubuntu-> apt-get在intranet后面
我想设置'--dns' DOCKER_OPTS,但我无法/etc/default在其他任何地方找到此配置文件.
有没有办法可以使用名称而不是IP地址访问我的docker容器?
我听说过管道工程,我已经看到了docker的一些dns和主机名类型选项,但我仍然无法将所有内容拼凑在一起.
感谢您的时间.
我不确定这是否有用,但这是我到目前为止所做的:
我已经将DNS别名条目添加到我的专用网络DNS服务器,它与docker-machine使用的机器名称相匹配.但是,当计算机启动并连接到网络时,它始终会选择不同的IP地址.
我只是迷失在哪里解决这个问题:
我可能正在寻找类似这个问题的东西:
如何让docker使用我的网络路由器轻松地将dhcp ip分配给容器而不是管道?
任何大方向都会很棒......再次感谢!
我在Docker Machine上遇到了一个反复出现的问题 - 它每隔几天就会决定超时,一旦发生这种情况我就无法恢复.
例
docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default virtualbox Timeout
Run Code Online (Sandbox Code Playgroud)
环境信息
uname -a Darwin ColeyMBPR 15.4.0 Darwin Kernel Version 15.4.0: Fri Feb 26 22:08:05 PST 2016; root:xnu-3248.40.184~3/RELEASE_X86_64 x86_64
docker version 1.11.0
docker-machine version 0.7.0
vboxmanage --version 5.0.20r106931
Run Code Online (Sandbox Code Playgroud)
试图解决方案
我没有按特定顺序尝试以下事项:
eval "$(docker-machine env default)"docker-machine regenerate-certs default劈
现在唯一对我有用的就是摧毁docker机器并重新创建它.这会破坏我的所有图像和容器,再次设置它会非常耗费时间.
docker-machine rm -y default && docker-machine create -d virtualbox default && eval $(docker-machine env)
Run Code Online (Sandbox Code Playgroud)
有什么我可以尝试的吗?谢谢! …
无论如何要为docker-machine创建的docker's deamon 配置--allow-insecure-ssl.
命令:
docker-machine create --driver virtualbox dev
eval "$(docker-machine env dev)"
docker run myregistry:5000/busybox:latest echo 'hello world'
Run Code Online (Sandbox Code Playgroud)
输出:
Unable to find image 'myregistry:5000/busybox:latest' locally
2015/06/04 16:54:17 Error: v1 ping attempt failed with error: Get
https://myregistry:5000/v1/_ping: EOF. If this private
registry supports only HTTP or HTTPS with an unknown CA certificate,
please add `--insecure-registry myregistry:5000` to the
daemon's arguments. In the case of HTTPS, if you have access to the
registry's CA certificate, no need for the …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个容器来运行程序.我正在使用预先配置的图像,现在我需要运行该程序.但是,这是一个机器学习程序,我需要从我的计算机运行数据集.
该文件太大,无法复制到容器中.如果容器中运行的程序在我的计算机的本地目录中搜索数据集,那将是最好的,但我不知道如何做到这一点.
有没有办法用一些docker命令做这个引用?还是使用Dockerfile?
用Docker Machine创建新机器后,我收到以下错误:
$ docker ps
Error response from daemon: client is newer than server(client API version 1.21, server API version: 1.19)
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
如果Docker社区在Windows上本机运行,那为什么它需要Hyper-v?IE,本地暗示Docker-Engine可以在Windows上运行指令吗?它看起来像它仍然启动一个Linux VM并与之一起运行.
对我来说,似乎docker-toolbox使用运行linux的oracle hyper-visor,而Docker社区使用运行linux的Hyper-V.我忽视了另一个重要的区别吗?
它是否正确?我理解"本地"这个词是错误的,是码头工人误用了这个词,还是我还缺少其他一些方面?
我问的原因是因为我注意到你没有将Docker-machine与社区版一起使用,我想知道为什么会这样.docker-machine是在windows上运行的东西,而Docker Engine却没有?我认为docker这个词过载,在这种情况下可能导致混乱:)
提前致谢!
我正在尝试使用docker-machine在公司http代理后面的私有云(Openstack)上创建实例.
是否有可能告诉docker-machine使用代理,或者我是否需要一个已经使用http_proxy env变量预先配置的扫视图像?
docker ×10
docker-machine ×10
boot2docker ×3
containers ×1
dns ×1
docker-api ×1
docker-swarm ×1
dockerfile ×1
hostname ×1
hyper-v ×1
macos ×1
timeout ×1
virtualbox ×1
windows ×1