Tag: shell

使用PHP在shell中运行docker

那么,我需要使用PHP函数来运行Docker 。 我有一个推送链接的网页,我使用shell_exec或exec执行shell命令。 这对我来说是行得通的,如果这个执行就像是一个ls或者一个预期的结果。 问题是,如果命令是运行Docker(或者例如一个ping)它不起作用。 我想要的是,当用户点击链接时,shell将执行一个命令在浏览器中运行Docker,页面将被redirect到那里。 例如,如果我使用shell_exec('firefox'); 这应该打开一个新的Firefox浏览器,但它不起作用。 看来,浏览器打开,但几秒钟后closures。 这是Docker执行不起作用。 public function executeDocker() { $result = shell_exec('docker run –rm -p 3838:3838 shiny/gsva_interactive /usr/bin/shiny-server.sh'); echo "<br><br>Execution: ".$result; }

脚本testing,看看是否已经加载了一个工具?

我正在学习docker,而且我正在尝试执行shelltesting以查看是否已经加载了关键工具。 我正在做一些testing,将docker部署到不同的服务器。 这是脚本,保存为dockerScript.sh #!/bin/bash ## run "$ chmod +x dockerScript.sh" to make the script executable. ## then run "./dockerScript.sh" to activate the script touch docker-compose.yml cat > docker-compose.yml <<EOL version: "2" services: (etc…) EOL if[docker-compose is not already loaded] <— what goes here? then curl -L https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose fi […]

Bash脚本进入正在运行的容器,然后从该容器运行另一个bash脚本

我有一个shell脚本运行如下: image_id=$(docker ps -a | grep postgres | awk -F' ' '{print $1}') full_id=$(docker ps -a –no-trunc -q | grep $image_id) docker exec -i -t $full_id bash 当我从基本的Linux操作系统运行这个,我期望实际上进入postgres容器,这是一个正在运行的容器。 但问题是shell脚本在“docker exec”步骤中挂在第三行。 我的最终目标是使用bash脚本,input一个正在运行的postgres容器,并在该容器中运行另一个bash脚本。 但是,当我从命令行运行它相同的命令,它工作正常,让我进入postgres容器。 请帮忙,我花了几个小时来解决这个问题,但没有进展。 再次感谢

docker是否支持类似于Git别名的命令别名?

当谈到常见的任务时,我一直在与docker工人一起挣扎,比如移除所有exited容器,杀死它们或者用docker镜像做一些维护任务。 例如,是否有一种方法可以像git中那样定义docker命令别名 [alias] last-commit = show –pretty=format: –name-only HEAD^{commit} 例如,我想定义一个命令来删除所有退出的容器 而不是这个 docker rm $(docker ps -a -f status=exited -q) 我想这样做 docker clean

如何写一个自动进入“docker集装箱”和做其他事情的bash脚本?

我想实现一个自动的bash脚本,它进入一个正在运行的docker container ,并做一些事情: # cat docker.sh #!/bin/bash -x docker exec -it hammerdb_net8 bash cd /data/oracle/tablespaces/ pwd 在terminal上执行脚本: # ./docker.sh + docker exec -it hammerdb_net8 bash [root@npar1 /]# 输出显示只logindocker container ,但不会做其他操作。 是否有任何方法来自动进入docker container和做其他事情?

双向同步与shell /terminal和Codenvy中的实际代码

我设法与以下亚军创build一个工作的shell : FROM codenvy/shellinabox RUN sudo apt-get update && sudo apt-get -y install g++ git htop ssh tmux vim python VOLUME ["/home/user/app"] ENV CODENVY_APP_BIND_DIR /home/user/app CMD sleep 365d 这将同步从Codenvy WebIDE到terminal的变化 。 但它不会将terminal上的更改同步到Codenvy WebIDE (即使您尝试刷新,closures/打开文件等)。

Docker拒绝运行bash

我有以下docker设置: python27.Dockerfile FROM python:2.7 COPY ./entrypoint.sh /entrypoint.sh RUN mkdir /src RUN apt-get update && apt-get install -y bash libmysqlclient-dev python-pip build-essential && pip install virtualenv ENTRYPOINT ["/entrypoint.sh"] EXPOSE 8000 WORKDIR /src CMD source /src/env/bin/activate && python /src/manage.py runserver entrypoint.sh #!/bin/bash # some code here… # some code here… # some code here… exec "$@" 每当我尝试运行我的docker容器,我得到python27 […]

入口与CMD结合

我花了一些时间来掌握ENTRYPOINT和CMD的区别。 在这种情况下,我正在做一些研究,所以即使这里的想法可能不是最好的,那更多的是要得到这个结果。 如果我理解一切正确,比如: ENTRYPOINT ["/bin/bash", "-l", "-c"] CMD ["node index.js"] 应该导致这个命令: /bin/bash -l -c node index.js 对? 我想要做的是为ENTRYPOINT点创build一个脚本,基本应该是这样的: #entry.sh #step 1 npm install #step 2 npm run watch & #step 3 compass watch & #step n #that line bothers me /bin/bash -l -c $* 所以我想完成的是:如果CMD改变了所有的“步骤1 -n”应该被执行,并且最终的CMD应该看起来像: /bin/bash -l -c node index.js 相反,我得到: node index.js: entry.sh: […]

Shell脚本使用grep清理指定的docker容器

我想编写一个脚本,由我的开发构build服务器执行,在构build和运行新容器之前将删除所有“类似”泊坞窗容器。 下面是我需要的bash脚本的伪代码 var name = $1 var number_of_results = # of containers returned from $(docker ps -a | grep "$name") if(number_of_result > 0) docker rm -f $(docker ps -a | grep "$name")

如何为Docker命令写入参数化的Bash别名

我目前正面临一个问题。 我只是拉了一个Vim容器在CoreOs系统上使用它。 我尝试创build一个别名来启动Vim容器,而不是已经存在的容器(主要是因为在这个容器上我可以安装不同的插件) 但目前它不起作用,我不知道为什么。 该容器在/home/dev上具有卷挂接 我的别名: alias dockervim="docker run -ti –rm -v \"\$(pwd)\":/home/dev vimpadawan bash -c "vim \"\$1\""" 但是,当我写dockervim file_name它启动Vim,但不是与文件。 有人有什么想法? docker版本 Client version: 1.6.2 Client API version: 1.18 Go version (client): go1.4.2 Git commit (client): 7c8fca2-dirty OS/Arch (client): linux/amd64 Server version: 1.6.2 Server API version: 1.18 Go version (server): go1.4.2 Git commit (server): 7c8fca2-dirty […]