我正在尝试将Docker镜像推送到Amazon ECRregistry。 我使用docker客户端的Docker版本1.9.1,构builda34a1d5。 我使用“aws ecr get-login –region us-east-1”来获得dockerlogin信誉。 然后,我成功地使用这些信用login如下: docker login -u AWS -p XXXX -e none https://####.dkr.ecr.us-east-1.amazonaws.com WARNING: login credentials saved in /Users/ar/.docker/config.json Login Succeeded 但是当我尝试推送我的图像时,出现以下错误: $ docker push ####.dkr.ecr.us-east-1.amazonaws.com/image:latest The push refers to a repository [####.dkr.ecr.us-east-1.amazonaws.com/image] (len: 1) bcff5e7e3c7c: Preparing Post https://####.dkr.ecr.us-east-1.amazonaws.com/v2/image/blobs/uploads/: no basic auth credentials 我确信aws用户有正确的权限。 我也确保该存储库允许用户推送到它。 只是为了确保这不是一个问题,我设置了registry以允许所有用户完全访问。 没有任何更改“无基本身份validation凭据”错误。 我不知道如何开始debugging,因为所有的stream量都是encryption的。 UPDATE 所以,当我意识到我的问题的根本原因时,我有一点荷马辛普森D'Oh的时刻。 […]
我正在寻找一些在运行DC / OS上运行Docker容器时是否使用Marathon和Chronos,Docker Swarm或者Kubernetes的优点和缺点。 例如,什么时候比使用Kubernetes使用Marathon / Chronos更好?反之亦然? 现在我主要进行试验,但希望夏天之后我们可以开始使用这些服务中的一种。 这可能会取消Docker Swarm的资格,因为我不确定当时是否会生产。 我喜欢Docker Swarm的基本上就是“Docker命令”,你不必学习全新的东西。 我们已经在使用docker-compose了,Docker Swarm(至less在理论上)可以开箱即用,所以这将是一个很大的优势。 我主要关心的是Docker Swarm是否会涵盖在生产环境中运行系统所需的所有用例。
我设置了通配符DNS,以便所有到自定义域(* .foo)的Web请求都映射到Docker主机的IP地址。 如果我有多个运行Apache(或Nginx)实例的容器,则每个容器都将Apache端口(80)映射到某个外部入站端口。 我想要做的是向container-1.foo发出一个请求,它已经通过我的自定义DNS服务器映射到了正确的(Docker主机的)IP地址,但是把默认的80端口请求代理到正确的Docker外部端口,以便来自指定容器的正确Apache实例能够基于自定义域进行响应。 同样,container-2.foo会代理第二个容器的apache,依此类推。 是否有预先构build的解决scheme,是我最好在Docker主机上运行一个Nginx代理,还是应该写一个node.js代理,以便pipe理Docker容器(通过Web启动/停止/重新创build), 要么…? 我有什么select可以使Docker容器更像自然事件,而不是无关的端口和容器的杂耍?
我已经成功地在一个使用卷的docker容器之间共享文件夹 docker run -v /host/path:/container/path … 但我的问题是这和Dockerfile中使用VOLUME命令之间的区别 VOLUME /path 我正在使用具有VOLUME命令的图像,我想知道如何与我的主机共享。 我已经使用上面的-v命令完成了,但是我不知道是否需要-v和VOLUME 。
我正在寻找一种方法来使用Docker容器内的GPU。 容器将执行任意代码,所以我不想使用特权模式。 有小费吗? 从以前的研究,我明白, run -v和/或LXC cgroup是要走的路,但我不知道如何完全拉断
给我已经正确地更改了docker容器的时区。 我是否需要在Docker容器中安装一个NTP服务器来定期同步时间,或者容器将同步它主机的时间?
因为我只是更新了Docker到1.1.0我得到: 来自守护进程的错误响应:客户机和服务器没有相同的版本(客户机:1.13,服务器:1.12) 你知道如何解决这个问题吗? 我切换回到1.0.1,一切工作。
我使用的是使用USER命令构build的docker镜像来使用非root.called dev。 在容器内部,我是“dev”,但是我想编辑/ etc / hosts文件。 所以我需要成为根。 我正在尝试su命令,但我被要求inputroot密码。 Docker容器中默认的root用户密码是什么?
我正在尝试使用Docker Compose来设置Docker机器。 场景1(不包括Docker机器) 如果我在没有Docker Machine的情况下运行docker-compose up -d ,它将创build3个链接的容器(nginx + mongodb + nodejs)。 scheme2(使用Docker机器) 然后,我使用Docker Machine创build一个VM,并告诉Docker与eval $(docker-machine env streambacker-dev) 。 在这一点上,如果我SSH我的docker机,并运行df -h ,我得到: 如果我然后运行docker-compose up -d ,则在下载最后一个容器时出现“设备上没有剩余空间”错误 。 “tmpfs”似乎确实有点充分之后: 检查–virtualbox-disk-size选项显示它默认为20000 MB,我认为这是我们在两张图片上可以看到的“/ dev / sda1”。 那么,为什么容器填满了“tmpfs”?什么是“tmpfs”呢? 是一个临时的下载目录吗? 我怎样才能为我的容器创造更多空间? 谢谢! 有关信息,我使用的是Docker Machine 0.4.0-rc2和Docker Compose 1.3.2 。
我有一个Dockerfile在一个容器中安装MySQL服务器,然后我开始像这样: sudo docker run -t -i 09d18b9a12be /bin/bash 但MySQL服务不会自动启动,我必须手动运行(从容器内): service mysql start 如何在运行Docker容器时自动启动MySQL服务?