Tag: shell

如何修复Docker容器中的ctrl + c

如果我连接到docker集装箱 $> docker exec -it my_container zsh 在里面我想杀了我用ctrl+c开始的东西我注意到它需要永远完成。 我google了一下,似乎ctrl+c作品有点不同于你所期望的。 我的问题,我怎样才能修复ctrl+c里面的容器?

zsh函数在OSX上设置docker环境

我试图在zsh中创build一个函数来运行当前机器的命令docker-machine env <machine> ,如果只有一台机器运行的话。 我试图让它运行以下eval命令: eval "$(docker-machine env default)" 要设置docker环境variables,运行docker-machine env default将输出以下内容: export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://192.168.99.100:2376" export DOCKER_CERT_PATH="/Users/chris/.docker/machine/machines/default" export DOCKER_MACHINE_NAME="default" # Run this command to configure your shell: # eval "$(docker-machine env default)" 因此,要正确设置环境,您需要inputeval "$(docker-machine env default)" 我有以下function dmset() { COUNT=`docker-machine ls | grep "Running" | wc -l` if [[ "${COUNT// /}" == "1" ]] […]

如何testingdockerignore文件?

阅读.dockerignore文档后 ,我想知道是否有方法来testing它? 例子 **/node_modules/ 如何检查我的dockerfile忽略正确的文件和目录?

构build后将文件复制到Docker镜像

我已经有一个已经build立的docker图像,并且不会在构build完成后添加文件。 有没有一种方法来添加文件,而不重build它(或者可以添加它,并保存一个新的标签)? 我find了docker cp但如果我明白,它只能在运行容器中工作。

为什么&&而不是一个新的运行

在Dockerfile我看到了大多数使用这种语法的人 RUN apt-get -y update \ && apt-get install -y libicu-dev 在这一个 RUN apt-get -y update RUN apt-get install -y libicu-dev 对于我来说,第一个只有一行(层)caching,而第二个caching(我错了吗?),一旦命令不成功就停下来。 除此之外,我没有发现第一个更具可读性。 那么我们为什么要使用第一个语法呢?

有没有在docker构build过程中添加提示的方法?

我正在使用Docker创build一个具有SSL的特定nginx容器。 但是我不希望我的SSL文件保存在我的版本控制系统中。 所以他们被encryption。 在构builddocker容器时,我需要密码来解密文件并testing我的nginxconfiguration。 我正在使用read来获取安装脚本中的提示,但是Docker只停留在提示符上: + echo 'Please enter the password for the SSL certificates: ' + read -s SSL_PASSWORD INFO[0008] The command [/bin/sh -c /build/setup.sh && /build/cleanup.sh] returned a non-zero code: 1 是否有一些方法可以在执行docker build时获得提示? 谢谢你的帮助 :)

为什么“docker运行”错误“没有这样的文件或目录”?

我正在尝试运行一个运行自动构build的容器。 这是dockerfile: FROM ubuntu:14.04 MAINTAINER pmandayam # update dpkg repositories RUN apt-get update # install wget RUN apt-get install -y wget # get maven 3.2.2 RUN wget –no-verbose -O /tmp/apache-maven-3.2.2.tar.gz http://archive.apache.or g/dist/maven/maven-3/3.2.2/binaries/apache-maven-3.2.2-bin.tar.gz # verify checksum RUN echo "87e5cc81bc4ab9b83986b3e77e6b3095 /tmp/apache-maven-3.2.2.tar.gz" | md5 sum -c # install maven RUN tar xzf /tmp/apache-maven-3.2.2.tar.gz -C /opt/ RUN ln -s […]

docker exec命令的结果

我需要在我的shell脚本中知道一些docker exec命令的输出,例如我有一个nginx容器,并在我的脚本中运行: docker exec -it containerName /etc/init.d/nginx configtest 我只想在nginxconfigurationtesting成功时才继续执行脚本执行,而不是失败。 我试过使用$? ,但是即使在configtest输出失败的情况下也是0 (因为docker exec被成功执行,据我所知)。

一天之后是否可以自动删除正在运行的容器?

我已经创build了我自己的Linux容器并处于运行状态。 我想在一天后自动删除正在运行的容器。 有无论如何删除容器自动? 如果可能的话,我在哪里必须在我的Dockerfile中添加脚本/代码?

如何在Docker容器中执行命令作为bash shell脚本的一部分

我想写一个bash脚本来自动执行以下操作: 进入正在运行的容器 docker exec -it CONTAINER_NAME /bin/bash 执行一些命令: cat /dev/null > /usr/local/tomcat/logs/app.log exit 有问题的部分是当docker exec被执行时。 新的shell被创build,但其他命令不被执行。 有没有办法解决它?