我是Docker的新手,并尝试使用docker-machine创建docker主机。
目前,我将VirutalBox用于试用环境。
当我使用docker-mahine创建docker主机时,默认情况下,它使用VirtualBox上的Boot2Docker创建了VM。但是我想在Virtualbox上使用Ubuntu 15.10创建一个docker主机。
是否可以使用docker-machine在VirtualBox上创建基于Ubuntu的Docker主机?
我的docker文件中包含以下内容:
RUN sudo apt-get install sshpass -y
RUN sshpass -p userPassword scp -r user@server:~/data/* ./
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试构建映像时,它失败了:
Exception caught: The command '/bin/sh -c sshpass -p userPassword scp -r user@server:~/data/* ./' returned a non-zero code: 6 -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
但是,如果我删除了这些行,生成了图像,将ssh放到容器上,然后从bash手动运行命令,则效果很好。
谁能告诉我如何解决这个问题?
当我直接在主机上运行Docker容器时,可以毫无问题地连接到它.
我的主机有网络192.168.1.0/24,主机的IP地址是192.168.1.20.我的Docker容器的IP地址为172.17.0.2.当我从jconsole连接到172.17.0.2:1099时,它可以工作.
当我将此服务放入Docker机器时,无法连接到它.
我的Docker机器有IP 192.168.99.100,其中的容器有IP地址172.17.0.2但是当我使用jconsole连接到192.168.99.100:1099时它不起作用.
重复一遍:
192.168.1.20 --- 172.17.0.2:1099有效
192.168.1.20 ---(192.168.99.100 --- 172.17.0.2:1099)并从我的主机连接到192.168.99.100:1099不起作用.
值得一提的是,我可以通过Docker机器的外部IP地址访问Docker机器中的容器化服务,例如,这将起作用:
192.168.99.100 ---(192.168.99.100:8080 --- 172.17.0.2:8080)
但是当我使用JMX时,它就无法正常工作.
这是Tomcat服务.我在启动Tomcat实例的脚本中有这个:
CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n \
-Dcom.sun.management.jmxremote.port=1099 \
-Dcom.sun.management.jmxremote.rmi.port=1099 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Djava.rmi.server.hostname=IP address of Docker container
Run Code Online (Sandbox Code Playgroud) 我通过本地docker-machine VM在OSX 10.11中运行Docker 1.8.1.
我有以下docker-compose.yml:
web:
build: docker/web
ports:
- 80:80
- 8080:8080
volumes:
- $PWD/cms:/srv/cms
Run Code Online (Sandbox Code Playgroud)
我的Dockerfile看起来像这样:
FROM alpine
# install nginx and php
RUN apk add --update \
nginx \
php \
php-fpm \
php-pdo \
php-json \
php-openssl \
php-mysql \
php-pdo_mysql \
php-mcrypt \
php-ctype \
php-zlib \
supervisor \
wget \
curl \
&& rm -rf /var/cache/apk/*
RUN mkdir -p /etc/nginx && \
mkdir -p /etc/nginx/sites-enabled && \
mkdir -p /var/run/php-fpm && \
mkdir -p /var/log/supervisor …Run Code Online (Sandbox Code Playgroud) 我正在使用docker-machine和docker-compose来开发一个带有React前端的Django应用程序.这些卷不会在Debian环境中安装,但在OSX和Windows上运行正常,我几天来一直在努力解决这个问题,我创建了一个我的项目的简易版本,仍然可以复制你可以在https中找到它的问题:/ /github.com/firetix/docker_bug.我的docker-compose.yml:
django:
build: django
volumes:
- ./django/:/home/docker/django/
Run Code Online (Sandbox Code Playgroud)
我的Dockerfile如下
FROM python:2.7
RUN mkdir -p /home/docker/django/
ADD . /home/docker/django/
WORKDIR /home/docker/django/
CMD ["./command.sh"]
Run Code Online (Sandbox Code Playgroud)
当我运行docker-compose构建时,一切正常.但是当我运行docker-compose时,我得到了
[8] System error: exec: "./command.sh": stat ./command.sh: no such file or directory
Run Code Online (Sandbox Code Playgroud)
我在stackoverflow上发现了这个问题 如何在docker机器中安装本地卷,遵循建议的解决方法,但没有成功.
我做错了什么?为什么这适用于osx和windows而不适用于Debian环境?是否有适用于Debian环境的解决方法?当我检查VirtualBox GUI时,Osx和Debian都将/ Users /文件夹作为共享文件夹.
假设我使用以下命令创建一个新的Azure docker机器:
docker-machine create -d azure \
--azure-subscription-id="$AZURE_SUBSCRIPTION_ID" \
--azure-size=Standard_D14_v2 \
--azure-subscription-cert="${PWD}/certs/mycert.pem" \
--azure-location="East US" \
my-azure-node
Run Code Online (Sandbox Code Playgroud)
在此之后,我可以在运行时看到my-azure-node docker-machine ls,ssh到它,并运行我想要的任何docker命令.
但现在我希望同事能够在同一台运行的机器上运行.所以,一旦我mycert.pem转到她(愚蠢的问题,但我甚至可以与她分享这个文件?).她如何初始化docker-machine,这样她在做的时候会看到同一台机器docker-machine ls,而不是试图创建一个新机器.
我基本上想拥有一台我们共享的docker机器,并且使用docker-machine的简单性来实现这一点.
我有一个完整的工作docker-machine/ docker-composecluter在谷歌云工作.我从笔记本电脑控制它.我想将Thame控制它的能力转移到另一台笔记本电脑或计算机上.这样做的方法是什么?
我想检查运行图像的容器数量,我可以使用docker ps --filter ancestor ="imagename"然后计算容器数量.但我的机器不支持此命令是否有其他方法可以执行此操作?
docker dockerfile docker-registry docker-compose docker-machine
我试图使用docker-machine连接到AWS实例连接完成但是它给出了错误
获取SSH命令以检查守护程序是否已启动时出错:运行SSH命令时出错!
我也ssh进入实例,我也尝试了sudo apt-get update它给出了错误
无法获取http://archive.ubuntu.com/ubuntu/dists/wily-backports/Release.gpg 临时故障解决'archive.ubuntu.com
看起来实例不与外界(即互联网)交谈
所以任何人都可以帮我解决这个问题,谢谢
我在Win10机器上安装了docker和docker工具箱。
docker -v
Docker version 18.06.0-ce, build 0ffa825
docker-compose -v
docker-compose version 1.22.0, build f46880fe
我的泊坞窗版本是最新的,但编辑器不是。
知道如何更新作曲家的版本。
docker ×10
docker-machine ×10
dockerfile ×3
boot2docker ×2
azure ×1
docker-swarm ×1
jmx ×1
macos ×1
networking ×1
scp ×1
sshpass ×1
tomcat ×1