Tag: bash

如何按名称sorting“docker service ls”

我使用Docker Swarm 1.13.1,按名称(AZ)列出服务是非常实用的。 我不认为Docker本身支持这个壮举,所以我期望一些awk,sorting和其他一些小黑客。 到目前为止,这是我能得到的最接近的: root@N01-par1-dev-e:~/deploy-setup# docker service ls | sort -k2,2 -k1 yru8n6zxmp08 consul global 4/4 consul:latest 1lb98n83fttr mysql replicated 1/1 devmtl/percona-fire:5.7.16-10-1 ID NAME MODE REPLICAS IMAGE i75t4zef8x8c papertrail global 4/4 gliderlabs/logspout:latest 4s14t7f13fp8 portainer replicated 1/1 portainer/portainer:1.11.3 8wojufyq3dwn resilio global 4/4 devmtl/resilio-fire:2.4.4-alpine-0 vn8fhhfvb6pw sematext global 4/4 sematext/sematext-agent-docker:1.31.11 mwxtlff6jyl5 thm-s0001-iamfoo replicated 1/1 devmtl/iam-this-ctn:1.0.1-alpine-0 o8p4q85axkwy thm-s0002-iambar […]

在docker中通过java服务运行bash脚本时处理退出代码127

我在Docker中从java代码运行这个脚本,并且进程的退出代码是127。 process = Runtime.getRuntime().exec(commands); // commands is an array with script name and other variables defined in the script. process.waitFor(); openssl enc -d -aes-256-cbc -in $ENCRYPTED_TARBALL -out $OUTPUT_TAR -K $password 我确定在docker和脚本中安装了openssl,可以访问$ ENCRYPTED_TARBALL和$ OUTPUT_TAR。 如果脚本执行成功,应该创build$ OUTPUT_TAR文件。

pipe道失败,自定义泊坞窗图像

在salmantariq/node_mysql hub上有一个自定义的salmantariq/node_mysql : salmantariq/node_mysql 。 它通过nvm安装了MySQL服务器和节点。 我得到以下错误。 我相信我在这里失去了一些东西,但不知道是什么。 { bash: cannot set terminal process group (9): Not a ttybash: no job control in this shell+ umask 000+ git clone –branch="user-login-error-fix" –depth 50 https://x-token-auth:$REPOSITORY_OAUTH_ACCESS_TOKEN@bitbucket.org/diligensoftware/web.git $BUILD_DIR ; git reset –hard ed570209d7a4a1d7b29fe09d9dd7909ed42ed65e ; git remote set-url origin https://x-token-auth:{access_token}@bitbucket.org/diligensoftware/web.gitCloning into '/opt/atlassian/pipelines/agent/build'…HEAD is now at ed57020 configuring test+ chmod 777 […]

确定一个进程在windows / iis中运行

有没有办法编程/使用bash脚本来确定我们在基于Windows的Docker容器(即Microsoft / iis)中运行?

良好的方法依赖外部文件(Dropbox)在公共存储库?

我有一个项目的Docker存储库。 该项目的结构如下所示: 我知道,如果我尝试在/development/php7.1.2-mongodb/app/Dockerfile ADD ../../../helpers/functions.sh会Forbidden path outside the build context抛出错误的Forbidden path outside the build context , t想要在每个文件夹中有functions.sh文件。 所以我的解决scheme是: ADD https://www.dropbox.com/s/c913p83c11unl8x/functions.sh?dl=1 /home/helpers/ 但这是一个好方法吗? 因为我的存储库是公开的,用户正在使用它。 从docker-compose.yml更改上下文被排除在外,因为我在Dockerfile集线器上创build自动构build时只使用Dockerfile 。

sh和bash之间的区别

在编写shell程序时,我们经常使用/bin/sh和/bin/bash 。 我通常使用bash ,但我不知道它们之间有什么区别。 bash和sh之间的主要区别是什么? 在bash和sh编程时我们需要注意什么?

安装Docker自动完成而不使用Home Brew

我想启用Docker自动完成。 这里的说明是使用brew但我使用MacPorts 。 尝试安装bash-completion使用$ sudo port install bash-completion似乎安装一个新的bash在我的系统,我不愿意这样做。 使用MacPorts启用Docker自动完成的最佳做法是什么?

如何使用shell脚本检查docker服务是否已经在UCP上运行

我想检查docker服务是否正在运行。 如果它正在运行,我想删除该服务,并创build一个新的 我正在用shell脚本来完成这个任务 我正在提供我的shell脚本的代码片段,我正在面对Error response from daemon: service data-mapper-service not found if [[ "$(docker service inspect ${DOCKER_SERVICE_NAME} 2> /dev/null)" != "" ]]; then docker service rm ${DOCKER_SERVICE_NAME} else echo "service doesn't exist or may have been removed manually" fi docker service create \ –name ${DOCKER_SERVICE_NAME} \ –network ${OVERLAY_NETWORK} \ –reserve-memory ${10} \ –constraint node.labels.run_images==yes \ […]

如果服务正在运行,如何从docker得到真或假的响应

我想检查docker服务是否正在运行; 作为回应,我期待真假: docker service ps data-mapper-service docker service ps -f "node=vm-jcibe-microservice-qa-app01" data-mapper-service 这些是我尝试给我的命令。 它提供了有关该服务的信息(如果存在)。 如果我做docker service ps data-mapper-service-test我得到 Error: No such service: data-mapper-service-test 而不是这个错误,我可以检查服务的状态为真/假作为答复,即我得到真如果服务是存在和假如果服务不存在 以下是我的bash文件。 if [[ "$(docker service inspect ${DOCKER_SERVICE_NAME} 2> /dev/null)" != "" ]]; then docker service rm ${DOCKER_SERVICE_NAME} else echo "service dosenot exist or may have been removed manually" fi docker service […]

在ARM主机上使用qemu在Alpine / Docker上安装bash

我正尝试在x86主机上构build一个Docker容器,以便在ARM主机上运行。 要做到这一点,你需要使用qemu进行交叉编译。 由于图像尺寸太小,我也想使用高山linux。 不过,我遇到了一个不寻常的错误,只发生在编译时间 – 一个安装bash的问题。 我的理解是,当运行apk -U add bash时候, apk -U add bash ,apk更新软件包的软件包列表,然后安装最新版本的软件包。 然后运行安装后的脚本。 看来这些后安装脚本失败。 然而,当我build立没有bash的图像,然后在ARM主机上交互地运行容器,并且做了apk fix && apk -U add bash时候, 然而,在构build时执行这个命令却失败了。 我如何在buildtime中添加bash? Dockerfile FROM armhf/alpine:3.5 ENV CONSUL_PREFIX __CONSUL_PREFIX__ ENV CONSUL_SECRET_PREFIX __CONSUL_SECRET_PREFIX__ ENV QEMU_EXECVE 1 COPY deploy/qemu/qemu-arm-static /usr/bin/ RUN ["qemu-arm-static","/sbin/apk","fix"] RUN ["qemu-arm-static","/sbin/apk","add","-U","bash"] RUN ["qemu-arm-static","/sbin/apk","-U","add", \ "postgresql-client",\ "curl","vim",\ "tzdata","bc"] RUN ["qemu-arm-static","/bin/cp","usr/share/zoneinfo/America/Los_Angeles","/etc/localtime"] RUN ["qemu-arm-static","/bin/echo","America/Los_Angeles",">","/etc/timezone"] […]