Articles of Docker

空格在nginx conf文件中是否重要?

我有一个nginx conf文件,由于使用环境variables,我有一个shell脚本回声,这个文件我称为nginx.conf.template ,然后我把回应的结果放到实际的nginx.conf ,请参阅shell脚本bellow: #!/bin/sh function subst() { eval echo -E "$2"; } mapfile -c 1 -C subst < nginx.conf.template > nginx.conf 我唯一的问题是,它删除所有的缩进空白,我想这会造成一个问题,但是我运行这个nginx服务器的docker容器似乎很好。 我没有缩进是否重要? 如果它确实重要,可以回声保留所说的空白?

Docker不能访问卷

我已经安装了一个全新的Fedora Server 22.在安装过程中,我select了预安装Docker的选项。 我已经使用Cockpit激活了Docker,并在命令行上安装了一个新的容器: # docker run -d -h plex –name="plex" -v /etc/docker/plex:/config -v /tank:/data -p 32400:32400 timhaak/plex 当试图运行它时,我得到的错误: + GROUP=plextmp + mkdir -p /config/logs/supervisor mkdir: cannot create directory '/config/logs': Permission denied 我已经检查过容器的详细信息: … "Volumes": { "/config": "/etc/docker/plex", "/data": "/tank" … "VolumesRW": { "/config": true, "/data": true … 和目录存在: # file /etc/docker/plex /etc/docker/plex: directory 一切似乎都很好。 […]

限制用户只能访问“docker检查”?

有没有办法让一个用户访问(www数据是准确的)只能访问“docker检查”? 任何工作解决scheme都可以接

如何使docker只使用专用networking与其他主机进行通信?

Digital Ocean提供的内部IP不是stream量计量的。 我如何configurationDocker专门使用这个专用networking? 如何使docker0创builddocker0的networking接口只使用专用networking?

在ec2容器服务(AWS,Docker)中使用swap分区真的不可能?

我正在使用预configuration的Docker容器为我们的创业公司实习生pipe理和代码托pipe设置一个gitlab + redmine服务。 这样做是非常简单的使用docker预configurationdigitalocean图像上的命令行泊坞窗。 甚至使用tutum + digitalocean更容易。 我们考虑将AWS用于多种目的。 所以我试着用EC2容器服务(ECS)设置提到的configuration。 但在ECS上,您必须为每个docker集装箱分配内存。 这意味着,容器在同一台服务器上运行时不能共享内存。 更糟糕的是:因为你必须分配内存给每个容器,所以你的docker不能使用服务器交换,因为swap不能被分配! 为什么这些限制已经到位? 有没有可能的方法来解决这些?

从另一个Docker容器重新加载nginx

我们有两个Docker容器: nginx的 领事模板 与nginx.conf共享卷。 挑战是当consul-template更新nginx.conf时,它需要通知nginx重新加载。 我不能找出一种方法(正确的方法?),使容器之间的这种进程间调用…如何调用nginx reload在nginx容器的上下文中,从一个兄弟容器?

将日记日志获取到纯文本文件

我想将日志logging日志logging到一个文件中,以便以后可以将其取出并发送到Logstash。 我想到了运行syslog-ng,并使其成为journald的客户端,所以我会得到syslog文件。 我在CoreOS机器上使用了Docker容器,所以我尝试在CoreOS docker主机中运行syslog-ng作为容器,创build一个执行容器的systemd单元。 我跟着这个页面来获取systemd中的syslog ,但是如果我试图让我的syslog-ng容器直接从主机的syslog套接字中读取(通过挂载一个docker卷),它会抱怨“Address already in use”。 所以我有日志logging,一个运行syslog-ng的容器,但我不知道如何在syslog-ng中获取日志logging日志。 我的备选解决scheme是将日志文件logging到文件中,以运行执行journalctl -f –json | tee -a /var/log/systemd的systemd单元 journalctl -f –json | tee -a /var/log/systemd ,但是我不确定这个解决scheme的可靠性。 这是一个很好的解决scheme吗?

在单个docker主机上启动多个Web容器是否合理?

说有一个由docker供电的应用程序。 可能有容器的数据库,Redis等和实际的Web容器(在我的情况下,它是PHP的FPM和Nginx的)。 或者,它可能是一个纯粹的Web节点,只有Web容器运行。 我的问题 – 有一个单一的主机上有一个这样的Web容器(PHP的FMP&Nginx的)有什么好处吗? 会提高性能吗? 它会降低性能吗?

docker工人可以使用主机文件系统而不是图像?

阅读这个问题 ,我明白容器使用一个基本的映像(如Ubuntu)作为根文件系统。 现在我的问题是如果有必要下载一个基本的图像,如果我有完全相同的操作系统(如Ubuntu 14.04)。 这个基础图像是多余的吗?

Mesos从属IP,用于Marathon启动的(docker容器)服务实例

我有一个docker形象,我想通过Mesos / Marathon推出一些实例。 我在docker使用BRIDGEnetworking,我想通过在容器正在启动,启动容器,通过env的mesos奴隶/docker工人主机的“公共”(即不是容器的docker0networking)地址var或param,所以我可以在应用程序响应中通告这个ip(应用程序是一个Cassandra节点,我将在这个地址中的cassandra.yaml中填充broadcast_address ) 我的理解是,我可以让Mesos将此地址上的任何特定端口(在configuration的范围内)转发回运行容器的docker0地址。 如果这是真的,我可以保证应用程序实例(Cassandra节点)没有从这个奴隶移动,有一些约束,我可以有一个mesos预定的Cassandra集群。 我的问题是:我怎么得到奴隶(docker主机)的IP地址到马拉松应用程序实例,因为它正在启动?