在运行AMI的AWS EC2实例上安装Docker的最新方式是什么? 有一个Docker企业版的公告,现在我想知道是否有任何改变。 到目前为止,我一直在使用yum install docker 1.12.6, build 7392c3b/1.12.6并且获得了版本为1.12.6, build 7392c3b/1.12.6的Docker 1.12.6, build 7392c3b/1.12.6现在1.12.6, build 7392c3b/1.12.6 (3/3/2017)。 但是, GitHub上的Docker存储库告诉我已经有了更新的版本。 我记得官方的Docker(软件包)仓库有一个名为docker-engine的软件包,它替代了docker ,现在他们似乎把软件包分成了docker-ce和docker-ee ,例如“Docker Community Edition(Docker CE)”红帽企业Linux不支持“。 [ 来源 ] 那么是或仍然是正确的使用上述获得运行AMI的EC2实例上最新的稳定的Docker版本还是我需要从其他地方(如果是的话,哪一个,CE或EE)拉包?
在Docker容器中使用操作系统有什么意义? 在Docker仓库中,您可以find一个Ubuntu docker镜像: https : //registry.hub.docker.com/_/ubuntu/我认为Docker更多的是“应用程序”级别。 那么Ubuntu Docker容器和Ubuntu虚拟机之间的区别是什么? 如果你在Docker容器中有一个完整的操作系统,那么使用Docker没有意义吗? 谢谢
我试图将亚马逊的新弹性容器registry(ECR)与我的Jenkins构build服务相集成。 我正在使用Cloudbees Docker Build&Publish插件来构build容器映像并将其发布到registry中。 要使用ECR而不是我的私人registry,我已经运行了AWS CLI命令aws –region us-east-1 ecr get-login这会发出一个docker login命令来运行 – 但是我只是复制出密码并创build了一个Jenkins从该密码(用户名始终为“AWS”)键入“用户名和密码”凭据。 那工作正常! 问题是由AWS CLI生成的ECR密码只有12小时有效。 所以现在,我必须每天手动重新生成密码两次,并手动更新Jenkins凭据屏幕,否则我的构build开始失败。 有没有办法生成永久的ECRlogin令牌,或以某种方式自动化令牌生成?
我试图看看我是否可以在docker容器(在容器中运行arch linux)中运行systemd。 我使用所有function启动docker,并在cgroup中绑定mount: docker run -it –rm –privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro .. 但是,如果我尝试运行systemd二进制文件: Trying to run as user instance, but the system has not been booted with systemd. 试图找出如何正确启动systemd启动的东西。
我正在尝试在一个Docker容器中安装SELinux,以便在内部分发一个使用SELinux的应用程序。 默认的CentOS镜像没有安装SELinux: $ docker run -it centos:latest /bin/bash [root@38ae5a98273d /]# sestatus bash: sestatus: command not found 在我从yum安装之后,SELinux还没有启用。 [root@38ae5a98273d /]# yum install policycoreutils selinux-policy-targeted … [root@38ae5a98273d /]# sestatus SELinux status: disabled 我发现所有的文件说,你需要发出一个系统重新启动,以便安装它。 但是,我不知道在Docker容器中模拟系统重启的方法。 如何安装和启用容器内的SELinux?
我的Dockerfile似乎正确地build立(这告诉我)。 当我运行容器时,我得到下面的错误信息。 我曾尝试运行带有和没有服务目录的命令( CMD )。 crontab.sh基本上写一个cron调度到一个文本文件( cron.jobs ),然后将文本文件导入到crontab。 Dockerfile: FROM node:0.10 MAINTAINER Tom VOLUME /var/log/ RUN mkdir /pulse ADD . /pulse WORKDIR /pulse RUN apt-get update && apt-get install -y cron ADD *.sh /pulse/ RUN chmod 750 /pulse/crontab.sh && chmod 750 /pulse/ RUN chmod 644 /etc/crontab CMD cron -f CMD touch /var/log/cron.log && sh /pulse/crontab.sh […]
我有一个安装CoreOS(835.9.0)的vanilla,它不会在启动时启动docker守护进程。 它只开始时,我SSH进入,例如docker ps 。 我如何使docker守护进程在系统启动时自动启动? 当我说docker守护进程时,我的意思是ps -ef | grep docker ps -ef | grep docker显示没有进程,直到我做docker ps
我正在Swarm模式下使用Docker进行生产设置(使用Docker 17.03.1-ce)。 将有2个数据中心参与。 在这两个数据中心中,所有机器在专用networking上都具有公共IP和私有(本地到数据中心)IP,因此将有两个专用networking。 通过专用networking接口的networkingstream量是免费的,而通过公共接口的stream量没有经过一定的限制(速度较慢),所以在可能的情况下,我更希望networkingstream量通过专用接口。 现在从我的理解(我认为),Swarm模式下的Docker节点之间的所有stream量将通过用于与swarm master进行通信的相同的networking接口,在我的情况下,这将是公共networking接口,用于进行多DCnetworking可能。 但是,大多数预期的stream量将在同一个DC中的节点之间,如果源和目标节点碰巧位于同一个专用networking上,如果Docker能够以某种方式将stream量路由通过我的专用networking,那将是非常好的。 恐怕这可能是不可能的,因为swarm master不知道这些专用networking和节点上的IP。 我能想到的一个解决scheme是build立一个VPN并在其上部署群集,但是这增加了额外的复杂性,我更喜欢纯粹的Docker群集解决scheme。 更新 :如评论中所build议的,解决scheme的基础可能是使用iptables将外出stream量路由到私有IP而不是公共IP。 但是,如果我想这样做,我的下一个问题将是如何pipe理所有这些规则。 在DC有10台服务器的情况下,我需要10 * 9 = 90个路由器才能通过专用networking路由所有可能的本地stream量。 我可以想象,也许有一些工具可以帮助完成这样的任务,或者我可以创build一个,但也许有一个更简单的方法来做到这一点。
我正在尝试在使用Docker运行的CentOS镜像上列出服务 systemctl list-units 但我得到这个错误消息: Failed to get D-Bus connection: Operation not permitted 有什么build议可能是什么问题?
我想要使用Jetty(6.1.24)将http的所有请求redirect到https。 出于某种原因(我的无知),这是逃避我。 这是我的: <New id="redirect" class="org.mortbay.jetty.handler.rewrite.RedirectPatternRule"> <Set name="pattern">http://foobar.com/*</Set> <Set name="location">https://foobar.com</Set> </New> 作为回应,我得到了200 – 好,身体是通过HTTP的页面,即redirect不会发生。