使用XDebug从Docker Container进行远程debugging不起作用

我试图build立一个dockered的AMP环境,不能让远程debugging器工作。 我的设置如下: 我有一个运行MySQL的数据库容器,它像一个魅力工作。 我用下面的Dockerfile构build了一个Docker镜像“phpmysqli” FROM php:apache RUN docker-php-ext-install mysqli mbstring # zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so RUN pecl install xdebug RUN echo 'zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so' >> /usr/local/etc/php/php.ini RUN touch /usr/local/etc/php/conf.d/xdebug.ini; \ echo xdebug.remote_enable=1 >> /usr/local/etc/php/conf.d/xdebug.ini; \ echo xdebug.remote_autostart=0 >> /usr/local/etc/php/conf.d/xdebug.ini; \ echo xdebug.remote_connect_back=1 >> /usr/local/etc/php/conf.d/xdebug.ini; \ echo xdebug.remote_port=9000 >> /usr/local/etc/php/conf.d/xdebug.ini; \ echo xdebug.remote_log=/tmp/php5-xdebug.log >> /usr/local/etc/php/conf.d/xdebug.ini; RUN echo 'date.timezone = […]

如何理解“docker run …”命令中“/ bin / true”命令的作用?

我正在关注这个文档来安装gitlab docker image ,并且对这个命令感到困惑: docker run –name gitlab_data genezys/gitlab:7.5.2 /bin/true 我知道“ /bin/true ”命令只是返回一个成功的状态码,但是我怎么理解这个docker run …命令中的/bin/true的作用?

Docker Container与Unikernel进行比较

我最近部署了一个带有docker的小型Haskell应用程序,使用“scratch-haskell”作为基础图像。 然后我读了Unikernels和HALVM。 我有点困惑。 我的docker集装箱大约6MB。 一个Unikernel(与haskell应用程序相同)将大致相同的大小,我猜。 Unikernel直接在Xen hypervisor上运行,而Docker Image(或普通的LXC)运行在普通的Linux发行版上,该发行版在裸机上运行。 现在我有了使用多个最小容器运行Linux的“select”,或者有多个小型Unikernel的Xen机器。 但这两种解决scheme的优缺点是什么? 比另一个更安全吗? 他们之间有什么重大的性能差异?

Kubernetesconfiguration链接容器

我试图看看是否有任何例子来创build一个启动2-3个容器的Kubernetes POD,并且这些容器相互连接但是找不到。 有没有人尝试使用Kubernetesconfiguration链接容器。

有关系统根证书池crypto / x509的警告

发出docker命令时,出现以下警告消息:(例如:docker ps) C:\Users\whha>docker ps time="2017-01-24T23:17:36+01:00" level=warning msg="Unable to use system certificate pool: crypto/x509: system root pool is not available on Windows" 任何想法如何避免? 我正在运行在Windows 8.1中使用docker工具箱的docker工人。

Docker Swarm Service – 强制更新已经运行的最新映像

环境 docker工1.12 在Ubuntu 16.04上closures 如果服务更新没有更改任何参数,但是docker中心镜像已经更新,是否有办法强制滚动更新到已经运行的docker群服务? 例如:我部署了服务: docker service create –replicas 1 –name servicename –publish 80:80 username/imagename:latest 我的构build过程已经更新了Docker Hub上的最新映像,现在我想再次获取最新版本。 我试过跑步了: docker service update –image username/imagename:latest servicename 当我遵循这个过程时,docker并没有拖动最新的,我想这个假设是因为我想要最新的并且docker已经拉出了一个图像:最新那么就没有什么可做的了。 我唯一的工作是删除服务servicename并重新部署。

使用/ healthz进行应用健康检查的惯例是从哪里来的?

在Kubernetes / Docker生态系统中,有一个使用/healthz作为应用程序健康检查端点的约定。 “healthz”这个名字来自哪里?是否有与这个名字相关的特定语义?

如何拼合Docker镜像?

我做了一个相当大的Docker容器。 当我提交容器来创build一个图像时,图像大约是7.8GB。 但是,当我export容器(不save图像!) export到压缩包并重新导入时,图像只有3 GB大。 当然,历史是失败的,但这对我来说是行得通的,因为形象在我看来已经“完成”了,并且已经准备好部署了。 如何将图像/容器平铺而不将其导出到磁盘并再次导入它? 而且:这样做是明智的做法,还是我错过了一些重要的观点?

Kubernetes和Flynn / Deis有什么不同?

我已经阅读了这些项目的一些介绍,但是仍然不能清楚地知道Kubernetes和Flynn / Deis之间的区别。 谁能帮忙?

在bash中从“docker stop”捕获信号

我有一个docker容器中的入口点脚本,如下所示: #!/bin/bash echo starting up function shut_down() { echo shutting down pid=$(ps -e | grep myapp | awk '{print $1}') kill -SIGTERM $pid exit } trap "shut_down" SIGKILL SIGTERM SIGHUP SIGINT EXIT /opt/myapp 我无法弄清楚如何通过在容器上运行docker stop来发送信号。 当以交互方式运行时, ctrl+c将按预期触发,但是docker stop命令仅等待10秒超时,并且不用进入shut_downfunction就退出 如何捕获在bash中的docker stop发出的信号做一些清理?