Tag: 贝壳

Shell脚本在Docker for Windows上失败

我正在尝试在Docker for Windows上运行映像时遇到问题。 我有一个像这样的Dockerfile: FROM openjdk:8-jre-alpine WORKDIR /myworkdir COPY path/tomyproject/src/main/bin/start /myworkdir/start … EXPOSE 8080 CMD [ "sh", "/myworkdir/start" ] 这是一个失败的“开始”文件: #!/bin/sh SCRIPT="$0" # set the environment variables received from the command line for i; do case "$i" in *=*) echo $i ; key=${i%=*} value=${i#*=}; export $key=$value esac done 我没有问题构build和运行到Mac,但在Windows(Docker for Windows)我不能运行它,并得到这样的消息: :找不到myworkdir /开始:第4行:/ myworkdir / […]

你如何从shell脚本运行函数和variables到docker?

所以我试图找出什么是最好的方法来调用这个函数在我的bash脚本,以便在docker容器中执行。 #!/bin/bash AWS_BUCKET="https://s3-bucket-location.com" AWS_BUCKET_DEV_FILE="devfile.zip" AWS_BUCKET_PIC_FILE="WORDPRESSpics.zip" wordpress_production_S3_download () { cd /tmp/ wget $AWS_BUCKET/$AWS_BUCKET_PIC_FILE mv $AWS_BUCKET_PIC_FILE /var/www/html/wp-content/uploads/2017 cd /var/www/html/wp-content/uploads/2017 unzip $AWS_BUCKET_PIC_FILE rm $AWS_BUCKET_PIC_FILE chown -R www-data:www-data 12/ } 我想在Docker容器中运行这个函数是这样的 docker exec -ti dockerwordpressmaster_mysql_1 bash -c "wordpress_production_S3_download" 但是我明白了 bash:wordpress_production_S3_download:找不到命令 我也试图将该子function放入variables即 test=$(wordpress_production_S3_download) docker exec -ti dockerwordpressmaster_mysql_1 bash -c "$test" 但是函数“variables”testing只在本地机器上执行,而不是像我想的那样在Docker容器中执行。 任何问题的帮助,不胜感激

dockerlogin在shell脚本不工作

我不能使用“shell”命令“Dockerlogin”,我使用这个命令进行这种访问,更多的“Dockerlogin”似乎没有服务。 echo -e 'user\nPassword\nemail@test.com' | (docker login) 返回Username: Password: EOF未完成操作 任何人有任何提示?

如何在Jenkins中使用后删除docker工人

我想从Jenkins中删除一些Docker操作的剩余部分。 但不知何故,下面的行不起作用… 这个问题似乎与括号。 有什么build议? if [ docker images -f dangling=true -q|wc -l > 0 ]; then docker rmi –force $(docker images -f dangling=true -q);fi

运行Docker命令以及其他Linux命令和切换用户

使用Linuxterminal,我运行包含我想要执行的命令序列的bash脚本(.sh文件)。 问题是我无法在我的shell脚本中运行Docker命令。 我可以运行这个Docker命令,当它直接在terminal以root权限input时,而不是当我把它包含在shell脚本文件中。 我的脚本作为一般用户从命令行执行,如下所示: #!/usr/bin/env bash cd /home/user/docker_backup # remove /home/user/docker_backup/data rm -rf data # Switch to root privileges. my system is set to only run Docker as root su # Copy a folder from Docker container to host OS docker cp <container-name>:/home/user/data /home/user/docker_backup # More general user commands cd .. 我的代码只运行到上面的su行。 在我inputroot密码后,没有任何反应。 如果我inputexit ,我得到许可错误,这意味着docker […]

shell脚本连接到docker守护进程

我想轻松地将我的shell连接到docker,我可以通过input以下命令来实现: eval "$(docker-machine env docker-vm)" 我想我会把这一行放在一个简单的shell脚本中。我发现,虽然命令通过在bash提示符处input行来工作,但是如果放置在shell脚本中然后执行脚本,则该行将不起作用。 运行脚本后,我将收到错误: Cannot connect to the Docker daemon. Is the docker daemon running on this host? Cannot connect to the Docker daemon. Is the docker daemon running on this host? 我使用的是oh-my-zsh和iterm2。 这是让机器运行的小脚本: #!/usr/bin/env bash docker-machine start docker-vm docker-machine ip docker-vm docker-machine env docker-vm # this line will not "execute" meaning […]

我如何运行Hetionet v1.0docker集装箱?

我试图运行这个SOpost中提到的Hetionet v1.0 docker容器。 我已经用Docker设置了数字海洋液滴 我跑docker pull dhimmel/hetionet ,它的工作 现在我运行docker run dhimmel/hetionet ,发生以下事情(并且永远不会返回到交互式shell提示符)。 如果成功完成,我认为我应该做的最后一件事是运行sh ~/run-docker.sh 。 此外,没有什么活在我的液滴的ip_address:7474。 上面屏幕截图中的错误看起来很像它可能与一些冗余的@Path("/")注释有关,就像这个SOpost的注释中所描述的那样,被埋在了docker容器中,但是我不确定。 是运行docker run dhimmel/hetionet的输出应该挂我的shell? 我使用Docker 1.12.5在Ubuntu 16.04上运行一个2 GB的内存/ 40 GB的Disk Droplet。

如何使用端口号删除docker容器

我有在Docker容器中运行的Node服务 我正在使用shell脚本来运行这些服务 我想在3个不同的端口上运行同一个服务的三个不同的实例。 说9011 9022 9033 我也希望它以这样一种方式进行configuration,即在每次新部署之后,应该停止以前的服务并将其删除 我正在使用docker rm test-service删除它,但它也会删除其他实例。 通过这种方法只有一次实例可以运行。 有什么办法可以删除特定端口上运行的Docker服务 。 这里是我的shell脚本 #!/bin/bash ORGANISATION="$1" SERVICE_NAME="$2" VERSION="$3" ENVIRONMENT="$4" INTERNAL_PORT_NUMBER="$5" EXTERNAL_PORT_NUMBER="$6" NETWORK="$7" docker build -t ${ORGANISATION}/${SERVICE_NAME}:${VERSION} –build-arg PORT=${INTERNAL_PORT_NUMBER} –build-arg ENVIRONMENT=${ENVIRONMENT} –no-cache . docker stop ${SERVICE_NAME} docker rm ${SERVICE_NAME} sudo npm install sudo npm install -g express docker run -p ${EXTERNAL_PORT_NUMBER}:${INTERNAL_PORT_NUMBER} –network ${NETWORK} –name ${SERVICE_NAME} –restart […]

如何从myData(mongodb)容器中的myApp(python)容器运行shell命令?

我有两个容器,一个运行python ,另一个运行mongodb 。 现在我想从我的应用程序容器中运行mongoimport命令。 那我该怎么做呢?

从shell脚本中返回一个结果值,用于在Docker容器中的testing给Jenkins CI

我想使用Jenkins CI来执行我的自动end2endtesting。 我的testing与Nightwatch.js一起运行。 我想通过shell脚本在自创的docker容器中运行我的自动化testing。 这个shell脚本在本地机器上完美运行,但是如果我在Jenkins CI启动这个shell脚本,如果testing通过或失败,shell脚本必须返回一个值。 如果他们通过jenkins的工作也必须通过。 而当Docker容器中的testing失败时,Jenkins作业也必须失败。 这是我目前的shell脚本: #run the end2end tests headless in docker container from local with remote repository #parameter: $1 folder on local machine to copy in project sources (with cucumber reports after test execution) # (IMPORTANT: You have to ensure that the given folder path is in the file sharing […]