Tag: bash

通过docker-compose拉ssh-client容器

我是Docker的新手,可能不明白。 我有一个app容器和一个dockerfile 。 我想安装一个ssh-client app容器。 我希望能够运行ssh命令从app容器到达一些外部IP。 我知道的最简单的方法是添加 RUN apk update && apk add openssh-client bash 到我的dockerfile ,但我想使用一些准备好的形象,所以我所有的容器可以使用相同的一个。 有可能吗?

Dockerfile运行读命令给我错误

下午好,我正在和Docker一起构build一些图片,我发现有些设备会询问用户的密码等问题。 在创build图像的过程中可能会询问用户,然后将该仪表传递给另一个命令,例如,此代码向我发送一个错误 FROM ubuntu:16.04 SHELL ["/bin/bash","-c"] RUN ["echo","========== Enter root password for db =========="] RUN ["/bin/bash","read","pass"] RUN debconf-set-selections <<< "mysql-server mysql-server/root_password password $pass" RUN debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $pass"` 错误消息如下所示: The command '/bin/bash read pass' returned to non-zero code: 127 然后构build过程失败,任何build议做到这一点,在编译时从用户读取?

dockerneo4j无法连接从远程URL加载csv

我正在使用以下docker工具: https : //registry.hub.docker.com/u/tpires/neo4j/ 我已经启动了neo4j容器: docker run -i -t -d –name neo4j –cap-add=SYS_RESOURCE -p 7474:7474 -p 80:80 tpires/neo4j 在neo4j界面,我试图从远程CSV加载: LOAD CSV FROM "http://mywebsite.com/data/data.csv" AS line WITH line LIMIT 4 RETURN line 它无法连接。 所以,我附加到docker集装箱的bash,并试图连接到一些东西: docker-container$ curl "http://mywebsite.com/data/data/csv" 并且它不能连接,可能是因为对外的请求被阻止 我如何打开它?

简单的docker部署策略

嘿,所以我已经花了几天的时间真的挖掘到了Docker,并且我学到了很多东西。 我已经到了想要部署到数字海洋液滴的程度,但是我开始怀疑构build/部署映像的策略。 我有一个完美的开发设置,我已经创build了一个与我的应用程序绑定的文件卷。 docker run -d -p 80:3000 –name pug_web -v $DIR/app:/Development test_web 我讨厌必须从/ Development文件夹中运行生产中的应用程序,而实际上我正在构build应用程序。 这是一个nodejs / express应用程序,我很想concat / minify / etc。 进入一个本地dist文件夹,并将该文件夹添加到一个新的准备好的图像。 我想我问的是,A)。 我可以有不同的docker文件,一个开发人员和一个Dist? 如果不是B)。 如果在我的泊坞窗文件,如果ENV =='dist'add / dist …等等,我会有吗? 我正在努力弄清楚如何从一个开发环境本地移动到没有任何条件的收紧生产就绪形象。

应该使用临时docker容器删除一个卷?

使用–rm选项运行–rm容器将删除已安装的卷后退出。 我想知道这是否是有意的行为? 这是确切的顺序。 ole@MKI:~$ docker volume create –name a-volume-test ole@MKI:~$ sudo ls /var/lib/docker/volumes/ | grep a- a-volume-test ole@MKI:~$ docker run –rm -it -v a-volume-test:/data alpine /bin/ash / # touch /data/test / # ls /data test / # exit ole@MKI:~$ sudo ls /var/lib/docker/volumes/ | grep a- 我退出后,音量消失了。

Docker – 运行一个容器时执行一个bash

我有我的docker-compose文件的这部分: php-fpm: build: ./docker/php container_name: php-fpm-symfony links: – db ports: – 9000:9000 – 8448:8448 – 8000:8000 working_dir: /var/www/html/ volumes: – .:/var/www/html volumes_from: – data tty: true env_file: – ./docker.env entrypoint: /command.sh 这里是我的Dockerfile: FROM php:7.0.8-fpm ADD command.sh /command.sh RUN chmod 777 /command.sh ENTRYPOINT ["/command.sh"] 我在根的command.sh #!/usr/bin/env bash git config –global user.email "${gitEmail}" git config –global user.name […]

Dockerfile:为什么不bash命令工作?

我想从一个非常简单的开始学习Dockerfile,所以这里是我的Dockfile: FROM ubuntu ENTRYPOINT /bin/bash 但是,在构build映像并运行容器之后,我发现我无法运行bash命令。 例如,如果我input: # clear 容器似乎卡在无限循环中运行。 那为什么会这样呢? 我该如何解决?

将函数输出保存到参数中命名的variables中

我有一个有趣的问题,我似乎无法find答案。 我正在创build一个简单的应用程序,它将帮助我的开发部门自动启动具有NginX和configuration文件的Docker容器。 我的问题是,由于某种原因,我不能让bash脚本存储文件夹的名称,同时扫描目录。 这是我正在谈论的一个非常简单的例子…. #!/bin/bash getFolder() { local __myResultFolder=$1 local folder for d in */ ; do $folder=$d done __myResultFolder=$folder return $folder } getFolder FOLDER echo "Using folder: $FOLDER" 然后,我将这个简单的脚本保存为folder_test.sh,并将其放在只有一个文件夹的文件夹中,将所有者更改为我,然后授予它正确的权限。 但是,当我运行脚本,我不断收到错误… ./folder_test.sh: 8 ./folder_test.sh: =test_folder/: not found 我已经尝试把$folder=$d部分在不同types的引号,但没有任何作品。 我试过$folder="'"$d"'" , $folder=`$d` , $folder="$d"但没有任何作品。 让我疯狂,任何帮助将不胜感激。 谢谢。

Bash运行docker命令只有当用户有权限(Bash if或者语句)

我试图只允许脚本运行,如果用户被允许docker特权。 所以这意味着用户或者需要在docker组中或者是root用户。 我试图做到这一点,但它不工作。 if [ $EUID -ne 0 ] || [ $(groups | grep -c docker) -ne 1 ]; then echo "You must have docker privileges to use this command." exit 1 fi echo "Do docker stuff" 奇怪的是,只有[ $EUID -ne 0 ]或[ $(groups | grep -c docker) -ne 1 ]可以自行工作,但OR条件似乎不起作用,我不知道为什么。

如何检查在PS1中dotnet恢复是否正常?

我使用dotnet restore命令dockertask.ps1文件,问题是如何确保它运行没有错误?