Tag: shell

在Mac OS上的Dockerized PHP中使用XDebug

问题 我无法从MacOS上的Docker化容器中使用Xdebug进行debugging。 我已经仔细阅读: XDebug远程configuration , Nikita Nikitinpost和Stackoverflow和Github上的所有build议的解决scheme。 我仍然被阻止 在容器中 我可以连接到容器bash -c "clear && docker exec -it DockerizedSample sh" 它确认XDebug已安装。 # php -m -c [PHP Modules] Core … xdebug … [Zend Modules] Xdebug 其configuration似乎有效。 # tail /usr/local/etc/php/conf.d/xdebug.ini xdebug.idekey=PHPSTORM xdebug.remote_host=172.17.0.1 xdebug.remote_enable=1 xdebug.remote_mode=req xdebug.remote_port=9000 xdebug.remote_autostart=0 xdebug.remote_connect_back=0 zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so 泊坞窗文件 FROM bartlebys/php-apache-mongo:latest MAINTAINER Benoit Pereira da Silva <https://pereira-da-silva.com> COPY /html […]

docker工人 – 写入pipe道:错误的文件描述符

我在Ubuntu上安装了docker.io。 当我正在尝试构build任何docker容器时,我将以错误写入pipe道结束:坏文件描述符 这些是我执行的命令 docker run nginx docker run hello-world docker版本 docker信息 docker的图像 任何想法来解决这个问题?

你如何修改Heroku的nodejs buildpack来安装Docker?

我正在将一个节点应用程序部署到需要通过docker运行脚本的Heroku,例如: exec('docker run –volume=$(pwd):/etc…') 然而,Heroku没有安装Docker,我不确定如何修改Heroku的node buildpack使Docker可用。 我已经尝试使用https://get.docker.com/脚本来下载和安装Docker,例如: install_docker() { echo "Downloading and installing docker…" local code=$(curl -sSL https://get.docker.com/ | sh) if [ "$code" != "200" ]; then echo "Unable to download docker does it exist?" && false fi } 但是,这只会导致以下错误: “su:必须从terminal运行” 有任何想法吗? 感谢您的时间。

将独占文件从主机共享到docker实例

我正在将主机机器目录作为卷挂载到docker中,以便与主机共享文件。 它有一个正在被所有docker实例使用的git仓库。 我希望不同的docker实例应该签出不同的分支,并使用并行,而不是在本地复制,因为这将需要更多的时间和存储。 相反,我希望最初共享文件到docker实例中,所有docker应该以不同的方式处理它,并消耗任何不断增加的更改。 具有读/写权限的Docker-volume似乎不适合这种用例,还有其他方法来实现这个目的? 编辑:目前我正在使用一个卷,但它成为所有docker实例的常见的地方。 如果docker-1 checkout分支A和docker-2 checkout分支B同时在更改docker-1的文件。

Google Cloud Shell,从1.9.1升级Docker,这是不可能的?

我遵循这个指南: https : //docs.docker.com/engine/installation/linux/debian/ 但没有什么,毕竟我的docker version是这样的: Client: Version: 1.12.3 API version: 1.24 Go version: go1.6.3 Git commit: 6b644ec Built: Wed Oct 26 21:39:14 2016 OS/Arch: linux/amd64 Error response from daemon: client is newer than server (client API version: 1.24, server API version: 1.21) 它始终是version 1.9.1 。 怎么做? 我需要docker-compose使用docker-compose.yml文件VERSION 2 。 所以我需要docker-engine至less1.10.x. 怎么做?

如何从远程位置下载并在容器启动Docker上执行脚本?

我试图在docker-compose环境中为几个不同的图像运行类似的脚本。 使用类似的Dockerfiles修改和推送所有的图像将是困难的,所以我正在寻找一个替代解决scheme。 在docker-compose中,我只能改变入口点和命令。 所以我正在寻找一种方法来执行从远程位置下载的脚本作为入口点。 简单地说我想执行命令sh <(wget -qO- http://localhost/script.sh) arg或wget -qO- http://localhost/script.sh | sh -s arg wget -qO- http://localhost/script.sh | sh -s arg作为入口点,但无法find应该如何做的方法。

在Docker构build期间不能使用进程replace,因为bash进入posix模式

在Dockerfile中,我想使用进程replace: RUN echo <(echo '$DATA:'"$DATA") 但是docker build使用/bin/sh运行每个RUN命令。 显然正在运行的sh导致bash切换到POSIX模式,这不允许进程replace: /bin/sh: -c: line 0: syntax error near unexpected token `(' 我试过closuresPOSIX模式: RUN set +o posix && echo <(echo '$DATA:'"$DATA") 但是,即使在第一个命令运行之前,语法错误似乎也会发生。 同样如果我用&&replace&& ; 。 请注意,该命令(即使是我在这里用作简化示例的命令)也包含单引号和双引号,所以我不能简单地将bash -c加在前面。 使用的shell实际上是一个bash,但是它被docker调用为/bin/sh : Step 7 : RUN ls -l /bin/sh —> Running in 93a9809e12a7 lrwxrwxrwx 1 root root 9 Dec 28 03:38 /bin/sh […]

连接到docker容器中的特定shell实例?

比方说,我有一个正在运行的docker容器my_container 。 我开始一个新的shell会话: docker exec -it my_container bash 然后我启动一个进程(例如Python脚本),然后用cntrl-p cntrl-q退出容器,让脚本在后台运行。 如果我用几个不同的脚本做这个几个不同的时间,我如何重新连接到一个特定的shell实例,以便我可以看到我的脚本的标准? 如果我使用docker attach my_container ,那么当我docker run docker attach my_container docker run命令时,我总是将其放置在第一个shell实例中。

从bash提示符和脚本传递参数给docker exec

我想在我的MongoDB泊坞窗容器内执行一个命令。 从我的Linux命令提示符,这是很容易的,当我这样做的工作 docker exec -it d886e775dfad mongo –eval 'rs.isMaster()' 上面告诉我去容器并执行命令 "mongo –eval 'rs.isMaster()' – This tells mongo to take rs.isMaster() as an input and execute it. This works and gives me the output. 由于我试图通过bash脚本自动化,我做到了 cmd="mongo –eval 'rs.isMaster()" 然后尝试像这样执行 docker -H $node2 exec d886e775dfad "$cmd" 但我想不知怎么,docker认为,现在容器内的二进制文件是不是mongo或别的,它给了我以下错误: rpc error: code = 2 desc = oci runtime error: […]

手工将覆盖率结果提交给工作服

所以我有一个脚本test.sh首先build立一个testingdocker图像,然后运行docker图像,然后运行testing。 我想手动添加一个命令将覆盖率结果发送到coveralls.io 任何人都可以帮助一个线索我正朝着正确的方向吗?