标签: docker-machine

Docker Swarm链接

我想创建一个在各自的机器上运行弹性搜索实例,MongoDB实例和grails应用程序的Docker Swarm集群。我正在使用Docker Machine设置我的Docker Swarm集群

swarm-01:
mongodb
mongodb_ambassador

swarm-02:
elasticsearch
elasticsearch_ambassador

群-03:
mongodb_ambassador
elasticsearch_ambassador
的Grails

安装的最后一步,使用以下命令运行实际的grails应用程序:

docker run -p 8080:8080 -d --name grails-master --volumes-from maven --link mongo:mongo-master --link es:es-master my-grails-image
Run Code Online (Sandbox Code Playgroud)

失败并显示错误:

来自守护程序的错误响应:无法找到满足所有依赖关系的节点:--volumes-from = maven --link = mongo:mongo-master --link = es:es-master

大使容器和Maven数据容器都在同一节点上运行。

CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                                                          NAMES
74677dad09a7        svendowideit/ambassador   "/bin/sh -c 'env | gr"   18 minutes ago      Up 18 minutes       9200/tcp, 9300/tcp                                             swarm-03/es
98b38c4fc575        svendowideit/ambassador   "/bin/sh -c 'env | gr"   18 minutes ago      Up 18 minutes       27107/tcp                                                      swarm-03/mongo
7d45fb82eacc …
Run Code Online (Sandbox Code Playgroud)

docker docker-swarm docker-machine

5
推荐指数
1
解决办法
645
查看次数

在Windows上更改.docker目录

Windows上Docker放置东西的标准路径是:

C:\Users\<USER>\.docker
Run Code Online (Sandbox Code Playgroud)

我们需要把它放在这里:

D:\Docker
Run Code Online (Sandbox Code Playgroud)

我们找不到有关在何处或如何更改该设置的任何信息.任何提示都表示赞赏,谢谢!

windows docker docker-machine

5
推荐指数
2
解决办法
2536
查看次数

多台计算机上的Docker-machine主机环境?

我正在使用docker-machine在digitalocean Droplet上创建一个盒子.我已经为该主机部署了一个简单的hello world docker容器,它工作正常.

当我docker-machine ls在我的主计算机上执行操作时,我看到digitalocean驱动程序像冠军一样运行.

我现在希望能够移动到我的笔记本电脑并docker-machine ls看到数字海洋驱动程序也在那里运行,但目前还不清楚如何"共享"机器,以便可以从两台不同的计算机访问它.

思考?

docker docker-machine

5
推荐指数
1
解决办法
399
查看次数

运行多个docker-compose(每台机器一个)

我正在测试很多微服务.我将其中的一些组合在一个docker-compose文件中,如:

agent:
  image: php:fpm
  volumes:
    - ./GIT:/reposcm:ro
  expose:
    - 9000
  links:
    - elastic

elastic:
  image: elasticsearch
  expose:
    - 9200
    - 9300
Run Code Online (Sandbox Code Playgroud)

然后我开始第一个 $docker-compose up

在另一个目录中,我将开始另一个"微服务" $docker-compose up.但我得到:

ERROR: Couldn't connect to Docker daemon - you might need to run `docker-machine start default`.
Run Code Online (Sandbox Code Playgroud)

如何为docker-compose.yml指定docker机器?

$docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM
default   -        virtualbox   Running   tcp://192.168.99.101:2376
my_test   -        virtualbox   Running   tcp://192.168.99.102:2376
Run Code Online (Sandbox Code Playgroud)

只有default机器可以运行"微服务".

如何指定目标机器docker-compose.yml

docker docker-compose docker-machine

5
推荐指数
1
解决办法
507
查看次数

如何将特定IP分配给容器并使其可以在VM主机外部访问?

我希望我的两个容器可以在VM主机之外的单独的特定IP地址(192.168.0.222,192.168.0.227)上使用,而不需要端口映射.这意味着我希望通过使用其IP来直接访问容器上的任何端口.我已经在VM主机外部的网络中运行的机器在192.168.0.1-192.168.0.221范围内.

现在可以使用Docker 1.10.0,如果是这样,怎么样?

我使用的是OS X 10.11 docker version 1.10.0, build 590d5108docker-machine version 0.6.0, build e27fb87使用boot2docker/VirtualBox驱动程序.


我一直试图弄清楚这一点,没有运气,我已经阅读了以下问题和答案:

docker boot2docker docker-machine

5
推荐指数
1
解决办法
2707
查看次数

Docker Machine默认VM上的软件包管理器?

我正在使用Docker Machine开发OSX.我使用快速启动终端让它创建default极小的VM:

在OS X安装中,docker守护程序在名为default的Linux VM中运行.默认情况下是一个轻量级Linux VM,专门用于在Mac OS X上运行Docker守护程序.虚拟机完全从RAM运行,下载量小〜24MB,启动时间约为5秒.

我想安装dnsmasq,但这些说明都不起作用.我希望再次遇到这种问题,所以除了安装dnsmasq之外我想要一些工具,比如apt-get能够轻松安装东西.由于命令很少,我不知道如何开始.我有curl,wget,sh,git,和其他非常基本的命令.我没有以下任何一项:

apt
apt-get
deb
pkg
pkg_add
yum
make
gcc
g++
python
bash
Run Code Online (Sandbox Code Playgroud)

我能做什么?我应该下载更完整的虚拟机,如Ubuntu吗?我的笔记本电脑不是很快,所以一个非常轻巧的VM对我很有吸引力,但这开始看起来有点多了.

linux apt docker docker-machine

5
推荐指数
1
解决办法
3591
查看次数

Docker-machine create:预创建检查出错:"Hyper-v命令必须以管理员身份运行"

我尝试docker for Windows 10使用next命令创建一个docker-machine :

docker-machine create --driver hyperv default
Run Code Online (Sandbox Code Playgroud)

但我得到了下一个错误

Error with pre-create check: "Hyper-v commands have to be run as an Administrator"
Run Code Online (Sandbox Code Playgroud)

任何人都知道如何解决这个问题?谢谢

docker docker-machine

5
推荐指数
2
解决办法
4301
查看次数

EC2实例不存在时“ docker-machine rm”失败

我使用docker-machine在AWS上管理Docker节点。今天,我尝试创建一个新节点,但由于实例类型与指定的AMI之间不兼容而失败:

docker-machine create --driver amazonec2 --amazonec2-instance-type t2.micro --amazonec2-ami ami-b4a015d4 certbot-config
Running pre-create checks...
Creating machine...
(certbot-config) Launching instance...
Error creating machine: 
    Error in driver during machine creation: 
    Error launching instance: InvalidParameterCombination: Virtualization type 'hvm' is required for instances of type 't2.micro'. Ensure that you are using an AMI with virtualization type 'hvm'. For more information, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html
Run Code Online (Sandbox Code Playgroud)

无论如何,我都会纠正错误。我的问题是我似乎创建了一个幽灵机器。如果我运行docker-machine ls,则会得到以下信息:

NAME             ACTIVE   DRIVER      STATE   URL   SWARM   DOCKER    ERRORS
certbot-config   -        amazonec2   Error                 Unknown   MissingParameter: The request must contain the parameter InstanceId …
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 amazon-web-services docker docker-machine

5
推荐指数
1
解决办法
1292
查看次数

Docker for mac - 无法卷曲我的容器

运行docker for Mac 17.06.0我创建了一个docker文件,用于创建Apache服务器的映像.请注意,它暴露了端口80.

FROM ubuntu:16.04
RUN apt-get update
RUN apt-get install -y apache2
ADD index.html /var/www/html/
CMD /usr/sbin/apache2ctl -D FOREGROUND
EXPOSE 80 
Run Code Online (Sandbox Code Playgroud)

在Dockerfile的同一个文件夹中,我创建了一个简单的index.httml文件.
然后我使用构建并运行它

docker build -t webserver .
docker run -d webserver 
Run Code Online (Sandbox Code Playgroud)

我使用了运行容器的IP地址

docker inspect [container_name] | grep -i IPAddress
Run Code Online (Sandbox Code Playgroud)

当我卷曲的时候

curl 172.17.0.2
Run Code Online (Sandbox Code Playgroud)

我没有回答.

我在运行-p 80:80并在curl命令中使用localhost时得到了答案.

 curl localhost
Run Code Online (Sandbox Code Playgroud)

但我想明白为什么我不能卷曲容器IP.

问题:

  1. 我怎样才能得到卷曲的答案?
  2. 我知道在使用docker for Mac(链接)时我无法ping我的容器.
    我可以telnet它只是为了验证端口是否暴露?
  3. 我可以SSH吗?

macos docker docker-machine

5
推荐指数
1
解决办法
2411
查看次数

用于窗口给出消息的Docker-超时已到期且操作尚未完成

我一直在尝试为Docker设置Docker并在Docker中运行Asp.Net core 2.0应用程序.我在下方设置了项目.

  1. 寡妇10.
  2. Visual Studio 2017,社区版.
  3. 已安装Core 2.0.

我创建了一个示例Asp.Net Core2.0应用程序并选择了Docker来运行此应用程序.

以下是详细信息 -

  1. 默认项目设置参考图像 - Asp.Net core2.0项目设置

  2. Docker运行状态

以下是超时问题的详细信息.

   Time out has expired and the operation has not been completed.
   at System.ServiceProcess.ServiceController.WaitForStatus(ServiceControllerStatus desiredStatus, TimeSpan timeout)
   at Docker.Backend.Processes.WindowsDockerDaemon.TryToStartService(String args, Dictionary`2 env) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Backend\Processes\WindowsDockerDaemon.cs:line 138
   at Docker.Backend.ContainerEngine.Windows.DoStart(Settings settings, String daemonOptions) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Backend\ContainerEngine\Windows.cs:line 200
   at Docker.Backend.ContainerEngine.Windows.Start(Settings settings, String daemonOptions) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Backend\ContainerEngine\Windows.cs:line 78
   at Docker.Core.Pipe.NamedPipeServer.<>c__DisplayClass9_0.<Register>b__0(Object[] parameters) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Core\pipe\NamedPipeServer.cs:line 47
   at Docker.Core.Pipe.Nam
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议超时的问题,我已经尝试并重置了docker

window docker docker-machine asp.net-core

5
推荐指数
1
解决办法
1216
查看次数