Tag: bash

在Docker镜像中设置$ PATH?

我正在为我的项目创build一个基本的图像。 在这个基本的图像中,我将下载一些.tar.gz文件并提取它们。 我想添加这些解压的目录添加到path,所以在子图像,我可以直接调用下载的可执行文件,而不需要指定完整的path。 我试图运行export PATH…在基本形象,但似乎并没有工作(至less当我tty到它,我没有看到path更新,我假设,因为出口不转移到新的bash会议)。 任何其他方式来做到这一点? 我应该编辑.bashrc吗?

bash:如何编写一个shell脚本来从DigitalOcean液滴内的MongoDB Docker容器中读取一个mongodump来备份MongoDB数据库?

我正在运行一个MeteorJSnetworking应用程序,在DO滴上进行meteor注入。 我想从我的本地机器运行.sh来偶尔获取备份。 能够有时间戳的文件夹将是一个加号。 这是我想用一个.sh文件实现的: 在本地机器上: ssh root@my.droplet.address # <prompt for password> 内部液滴: docker exec -it mongodb bash 在mongodb docker中: rm -rf dump mongodump -h 127.0.0.1 -d app 在远程液滴上: rm -rf dump docker cp mongodb:/dump dump 在本地机器上: sftp root@my.droplet.address 在远程液滴(sftp)中: DATE=`date +%Y-%m-%d_%H%M%S` get -r dump $DATE 是否有可能将所有这些在一个.sh文件?

何时在Docker中使用-type d-exec chmod 750/640

我已经开始使用Docker进行本地开发,从将Mac上的所有内容安装到容器。 通过一些项目,我经常会看到下面的shell命令,特别是 find /www -type d -exec chmod 750 {} \; \ find /www -type f -exec chmod 640 {} \; 首先,他们试图达到什么目标,其次是命令的实际意义,最后是为什么/何时需要使用这个命令? 我最近复制和修改了另一个项目,发现把这些命令取出似乎没有什么区别(公平的,它不再是基于相同的基本容器,但仍然)。 任何启蒙的一线将不胜感激。 EDITS: 在下面的注释中,这个方便的链接来解释shell告诉我们:What:find/www所有文件夹并执行chmod命令,将权限更改为750 – 仍然不确定是否为750,更重要的是为什么要这么做。

如何在现有的docker集装箱中永久设置环境variables?

我有一个现有的docker集装箱,我想在该容器中设置一个环境variables。 这可以在Docker中完成吗? 如果是这样,怎么样?

Symfony进程pgrep失败

这是我的代码(Laravel) $process= new Symfony\Component\Process\Process("pgrep java"); try { $process->mustRun(); } catch (ProcessFailedException $e) { return $e->getMessage(); } return $process->getOutput(); 它失败。 当我尝试pgrep –help它成功。 我在java运行时试过,而不是。 这是错误的: 我也使用Docker,我已经试过: docker-compose exec workspace bash和cd到/var/www/laravel/public并且在java运行时执行pgrep java 。 当java运行时,如预期的那样,它输出PID。 pkill java也不起作用。 我想知道为什么。

用户login后Bash没有执行

我想在用户login后执行一个脚本,但它不工作。 我已经创build了一个脚本,它执行一个docker exec命令和一个shell bash的docker。 之后,一些命令被执行到shell中以启动特定的应用程序。 我已经把这个脚本放到文件夹/etc/profile.d/中,但是在用户login后没有任何反应。 我也用简单的命令“mkdir”在用户主目录上testing了一个简单的脚本,这是工作的,所以我认为这个问题是由shell命令导致的。 这是脚本: #!/bin/bash xhost +local:of_v1606_plus docker start of_v1606_plus docker exec -it of_v1606_plus bash –rcfile '/opt/application/setImage_v1606+' -c 'cd /home/user/application/run/ ; application'

在NGINX docker容器中启动之前运行一个bash脚本

我正在尝试使用docker在localhost:8000上运行一个JavaScript应用程序。 部分我想做的是换出一些基于docker run命令的configuration文件,我想传递一个环境variables到容器中,以便bash脚本可以使用它作为参数。 我的dockerfile看起来是这样的: FROM nginx COPY . /usr/share/nginx/html CMD ["bash","/usr/share/nginx/html/runfile.sh"] 而bash脚本看起来像这样: #!/bin/bash if [ "$SECURITY_VERSION" = "OPENAM" ]; then sed -i -e 's/localhost/openam/g' authConfig.js fi docker run -p 8000:80 missioncontrol:latest -e SECURITY_VERSION="TEST" Docker给了我一个exception,说-e执行命令没有find。 但是,如果我更改dockerfile使用ENTRYPOINT而不是CMD,-e标志工作,但Web服务器不启动。 有什么我在这里失踪? 入口点被覆盖或什么的? 编辑: 所以我更新了我的dockerfile来使用ENTRYPOINT ["bash","/usr/share/nginx/html/runfile.sh", ";", " nginx -g daemon off;"] 但docker集装箱仍然closures。 有什么我失踪?

Docker入口点为什么我得到错误的参数

我正在制作具有此Dockerfile的自定义泊坞窗图像 # Dockerfile for moodle instance. # Forked from Jonathan Hardison's <jmh@jonathanhardison.com> docker version. https://github.com/jmhardison/docker-moodle FROM php:7.0-apache MAINTAINER Dimitrios Desyllas <ddesyllas@freemail.gr> #Original Maintainer Jon Auer <jda@coldshore.com> VOLUME ["/var/moodledata"] EXPOSE 80 # Let the container know that there is no tty ENV DEBIAN_FRONTEND noninteractive # Moodle Info ENV MOODLE_URL http://0.0.0.0 ENV MOODLE_ADMIN admin ENV MOODLE_ADMIN_PASSWORD Admin~1234 […]

docker集装箱不能克隆公共Github回购

我猜这是一个互联网连接问题,但是,可能有一些RSA公钥丢失。 我有这个Dockerfile: FROM node:4-onbuild COPY test-install-post-publish.sh /usr/src/app/ EXPOSE 8888 获取COPY到容器的bash脚本如下所示: #!/usr/bin/env bash cd # cd to home dir mkdir suman-test cd suman-test && rm -rf suman-test-projects && git clone git@github.com:sumanjs/suman-test-projects.git && cd suman-test-projects && ./test-all.sh 我运行容器,我得到这个: npm info it worked if it ends with ok npm info using npm@2.15.11 npm info using node@v4.6.2 npm info […]

在Python中正确自动化Docker脚本

基于本教程构buildTF图像分类器,我有一个bash shell,在其中运行Docker镜像,并使用以下命令: docker run –name fooldocker -it -v $HOME/tf_files:/tf_files/ gcr.io/tensorflow/tensorflow:latest-devel 然后在这个泊坞窗图像中运行我的Python脚本: python /tf_files/label_image.py /tf_files/myimages exit 有用。 但现在, 我需要在Python脚本中自动执行这些命令 。 我试过了 : p = Popen(['docker', 'run', '–rm', '–name', 'fooldocker','-it', '-v', '$HOME/tf_files:/tf_files/', 'gcr.io/tensorflow/tensorflow:latest-devel'], stdout=PIPE) p = Popen(['docker', 'exec', 'fooldocker', 'python', '/tf_files/label_NES.py', '/tf_files/NES/WIP']) p = Popen(['docker', 'kill', 'fooldocker'], shell=True, stdout=PIPE, stderr=PIPE) p = Popen(['docker', 'rm', 'fooldocker'], shell=True, stdout=PIPE, […]