标签: boot2docker

Docker构建特定的本地git分支

我是 docker 新手,想要容器化我的应用程序的特定 git 分支。如果我运行 docker build 并给出 dockerfile 的位置,将构建一个图像,但默认情况下从本地 master 分支构建。我希望能够要构建另一个分支,请说“开发”。我做了一些研究,我发现的所有答案都建议从特定的远程分支而不是特定的本地分支进行构建。

git docker boot2docker docker-compose docker-machine

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

无法连接到docker进程

我在windows上使用boot2docker Docker版本:客户端版本:0.12.0客户端API版本:1.12 Go版本(客户端):go1.2.1 Git commit(客户端):14680bf服务器版本:0.12.0服务器API版本:1.12 Go版本(服务器):go1.2.1 Git commit(server):14680bf

我基本上都是通过用户指南,一切都按预期工作,但在浏览培训烧瓶应用程序(http://docs.docker.com/userguide/usingdocker/)时,我的浏览器无法连接到Web服务器.

我已经尝试了我的每个版本的IP地址,主机名,......没有.总是"无法连接".

docker镜像正常运行:

8e9f917617ef training/webapp:latest python app.py 15秒前Up 14秒0.0.0.0:49153->5000/tcp kickass_carson

由于这是基本指南,我希望涵盖所有基础......但可能没有提到具体的windows(或boot2docker).只是找不到它.

docker boot2docker

4
推荐指数
1
解决办法
5381
查看次数

无法停止或杀死Docker镜像

我在Windows 7上运行boot2docker.在VM映像中,我试图阻止所有Docker映像,但是我收到错误:

docker@boot2docker:~$ docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
svendowideit/samba   latest              ce8e4e03282a        8 days ago          252 MB
hello-world          latest              e45a5af57b00        13 days ago         910 B
busybox              latest              4986bf8c1536        13 days ago         2.433 MB
docker@boot2docker:~$ docker stop e45a5af57b00
Error response from daemon: No such container: e45a5af57b00
FATA[0000] Error: failed to stop one or more containers
docker@boot2docker:~$ docker kill e45a5af57b00
Error response from daemon: No such container: e45a5af57b00
FATA[0000] Error: failed to kill one or more containers
Run Code Online (Sandbox Code Playgroud)

docker boot2docker

4
推荐指数
2
解决办法
6855
查看次数

Dockerfile和dev/test/prod环境

我想创建Dockerfile,它将能够构建三个不同的图像(目前一个).这些图像仅在配置文件中有所不同.

我在努力:

  • 创建三个不同的docker文件(不起作用,因为dockerfile需要命名为Dockerfile并且在上下文根目录中
  • 找到一种方法将参数传递给docker build命令 - 没找到
  • 使用ONBUILD命令 - 我创建了一个主文件和三个特定的文件,它们将特定的conf文件复制到图像中的同一目录中(由于与第一点相同的原因,它不起作用)
  • 从stdin传递docker文件 - 它不起作用,因为那时没有上下文(所以我不能使用ADD/COPY命令)

我必须说我没有想法:/你如何处理这种情况.在我看来,这应该是一个共同的问题.

docker boot2docker dockerfile

4
推荐指数
1
解决办法
1608
查看次数

Docker EXPOSE vs命令行-p选项(boot2docker)

花了太长时间试图访问从boot2docker实例中的docker容器运行的节点服务器后,我意识到问题归结为公开和docker run -p之间的区别.

在我的Dockerfile中,我有EXPOSE 3001,我无法通过我的主机访问它.

运行"docker run -p 3001:3001 myappinst myapp"后,我能够访问该端口.

到目前为止,我认为"docker run -p 3001:3001"与dockerfile中的EXPOSE 3001基本相同.

然而,我注意到,当运行docker ps时

我得到以下"EXPOSE":

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 16341e2b9968 housemation-crawler:latest "npm start" 2 minutes ago Up 2 minutes 3001/tcp housemation-crawler-inst

(注:3001/tcp)

与下面的对比 docker run -p 3001:3001

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0b14f736033c housemation-crawler:latest "npm start" 8 seconds ago Up 2 seconds 0.0.0.0:3001->3001/tcp housemation-crawler-inst

(0.0.0.0:3001->3001/tcp)

看起来后者正在做某种端口转发,而前者只是打开端口?那是对的吗?

如果我想访问一个未转发的暴露端口,我该怎么办呢?另外,如果我想在dockerfile中进行端口转发,那么正确的语法是什么?

networking docker boot2docker

4
推荐指数
1
解决办法
3625
查看次数

在OS X上使用log-driver ="syslog"时出现docker错误

--log-driver="syslog"在OS X上使用时出现docker错误

我正在尝试学习如何docker在OS X上使用容器(10.10.3),我理解与标准Linux实现的差异(需要boot2docker VM),我想知道我是否可以使用syslog记录消息的方式有任何影响

当我使用该--log-driver="syslog"选项启动容器时,会创建容器但是在启动时出现错误

~$ docker run --log-driver="syslog" --name daemon_dwayne -d ubuntu /bin/sh -c "while true; do echo hello_world; sleep 2; done;"
1f623793049916d5c....
FATA[0000] Error response from daemon: Cannot start container 1f623793049916d5....: Unix syslog delivery error
Run Code Online (Sandbox Code Playgroud)

这在Linux机器上正常运行...感谢任何提示

syslog docker boot2docker osx-yosemite

4
推荐指数
1
解决办法
1975
查看次数

无法推送或拉到docker repo`Repository not found`

我是码头工人的新手.在我的帐户链接下创建了一个公共 回购

我能够像redis和debian那样拉其他公共回购:

docker ps                                    ?
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
40416ad4c715        debian:latest       "/bin/sh -c 'while t   6 minutes ago       Up 6 minutes                            dal_server
Run Code Online (Sandbox Code Playgroud)

但是当我试图从我的仓库拉出来时我得到一个错误:

docker pull opmaster/basic_server            ?
Pulling repository opmaster/basic_server
FATA[0009] Repository not found

docker push opmaster/basic_server            ?
The push refers to a repository [opmaster/basic_server] (len: 0)
FATA[0000] Repository does not exist: opmaster/basic_server
Run Code Online (Sandbox Code Playgroud)

docker boot2docker

4
推荐指数
1
解决办法
6558
查看次数

尝试连接docker守护程序容器中的http服务器时拒绝连接

我正在使用boot2docker.我在守护进程模式下运行一个映像,它在端口3000启动grunt服务器.这是我用来启动它的命令.

该图像已经暴露了端口3000

docker run -d -P --name dummy image_name grunt server
docker ps
3af4ba19c539        image_name:latest   "grunt server"      54 minutes ago      Up 54 minutes       0.0.0.0:45000->3000/tcp   dummy
Run Code Online (Sandbox Code Playgroud)

然后进入同一容器"卷曲"Web服务器.

docker exec -it 3af4ba19c539 /bin/bash 
curl localhost:3000 
Run Code Online (Sandbox Code Playgroud)

它得到了HTML.

但是,当我尝试在我的mac pc中连接它时.它说"连接被拒绝了."

curl $(boot2docker ip):45000
//curl: (7) Failed connect to 192.168.59.103:45000; Connection refused
Run Code Online (Sandbox Code Playgroud)

我尝试使用VBoxManage来解决这个问题,但它也没有用

VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port45000,tcp,,45000,,45000"
Run Code Online (Sandbox Code Playgroud)

我可以知道如何解决这个问题.提前谢谢了

docker boot2docker

4
推荐指数
1
解决办法
2908
查看次数

Docker-machine:找不到ca.pem

在这里,我使用docker机器创建一个测试机器(dev).

$ docker-machine create -d virtualbox dev
Creating CA: C:\Users\xxx\.docker\machine\certs\ca.pem
Creating client certificate: C:\Users\xxx\.docker\machine\certs\cert.pem
Creating VirtualBox VM...
Creating SSH key...
Starting VirtualBox VM...
Starting VM...
Run Code Online (Sandbox Code Playgroud)

vm被创建并运行时没有缺陷.以下是运行以下命令时的错误:

$ docker-machine env dev

open C:\Users\xxx\.docker\machine\machines\dev\ca.pem: The system cannot fin
d the file specified.
Run Code Online (Sandbox Code Playgroud)

我不知道如何处理这个问题.尝试重新启动boot2docker.

ssl virtualbox docker boot2docker docker-machine

4
推荐指数
2
解决办法
3185
查看次数

如何替换默认的ssh密钥以访问docker-machine

我正在使用docker-machine来创建开发环境.我想更改docker-machine默认的ssh密钥.

我查看我的新机器的配置:

docker-machine config develop
--tlsverify --tlscacert="/Users/robe/.docker/machine/machines/develop/ca.pem" --tlscert="/Users/robe/.docker/machine/machines/develop/cert.pem" --tlskey="/Users/robe/.docker/machine/machines/develop/key.pem" -H=tcp://192.168.99.103:2376
Run Code Online (Sandbox Code Playgroud)

当我尝试使用密钥访问时:

--tlskey="/Users/robe/.docker/machine/machines/develop/key.pem"

使用此命令:

ssh -i /Users/robe/.docker/machine/machines/develop/key.pem docker@192.168.99.103
Run Code Online (Sandbox Code Playgroud)

然后我得到了写密码的提示.那么为什么我无法使用此访问密钥访问我的虚拟机.

  • 我是否需要进行任何其他配置?
  • 可以指定一个新密钥吗?
  • 使用ssh密钥连接获取访问权限的docker用户密码是什么?

有什么帮助吗?

ssh-keys docker boot2docker docker-machine

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