Tag: bash

Docker检查:使用jqselect具有正斜杠的字段

# docker inspect blah | jq '.[] | .NetworkSettings.Ports' { "22/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "32776" } ] } 我怎么得到HostPort值? 我尝试了以下,但失败了。 # docker inspect blah | jq '.[] | .NetworkSettings.Ports.22\/tcp.HostPort'

我怎样才能运行一个泊坞窗图像的新容器bash?

我能够在从docker / whalesay图像创build的容器中运行任意的shell命令。 $ docker run docker/whalesay ls -l total 56 -rw-r–r– 1 root root 931 May 25 2015 ChangeLog -rw-r–r– 1 root root 385 May 25 2015 INSTALL -rw-r–r– 1 root root 1116 May 25 2015 LICENSE -rw-r–r– 1 root root 445 May 25 2015 MANIFEST -rw-r–r– 1 root root 1610 May 25 2015 […]

在运行容器之前运行bash命令

我想运行一个预先存在的Docker镜像,如下所示: docker run -d –name cdt-selenium selenium/standalone-firefox:3.4.0-chromium 所以没有我为这个图像控制的Dockerfile。 不过,我想复制一些文件到这个容器中。 如果我确实控制了Dockerfile,我想运行这些命令: RUN mkdir -p /root/cdt-tests/csv-data COPY ./csv-data/* /root/cdt-tests/csv-data 有没有办法与上面的Docker运行命令在同一行中运行这些命令? 我试过这个: docker run -d –name cdt-selenium selenium/standalone-firefox:3.4.0-chromium docker exec cdt-selenium mkdir -p /root/cdt-tests/csv-data docker cp cdt-selenium:/root/cdt-tests/csv-data ./csv-data 但是我在docker exec线上遇到了一个权限错误

在docker中使用sedreplacepath

我知道这可能是一个愚蠢的问题…我想从docker文件做一个docker工人。 问题是,当我使用docker run -it docker_name / bin / bash进入docker时,我没有命令行完成。 所以我做了这个https://docs.docker.com/machine/completion/ (仍然不工作),并希望这样做https://linuxconfig.org/tab-does-not-automatically-complete-docker-commands-解 事情是,我无法从泊坞窗文件中取代几行。 我想要像这样使用命令sed: RUN sed -i 's+#if ! shopt -oq posix; then+if ! shopt -oq posix; then+g' /etc/bash.bashrc RUN sed -i 's+#if ! shopt -oq posix; then+if ! shopt -oq posix; then+g' /etc/bash.bashrc RUN sed -i 's+#if ! shopt -oq posix; then+if ! shopt -oq […]

/ bin / bash:在高山docker中找不到的命令

我试图在一个alpinedocker上运行这个Makefile 。 SHELL := /bin/bash build: GOOS=linux go build -o bin/server main.go 我已经确定, bash , make , go都是通过交互式进入容器并检查所有命令的。 但是这个命令神秘地失败了: + make build make: /bin/bash: Command not found GOOS=linux go build -o bin/server main.go make: /bin/bash: Command not found make: *** [Makefile:17: build] Error 127 script returned exit code 2 我真的很难debugging,因为它在docker,它是jenkins正在执行的一切。

运行Docker交互式Shell

我正在尝试运行使用docker-compose运行的图像的交互式shell。 我试过docker运行和docker执行 xyz@abc:~$ sudo docker exec -it 235197ff4f0e /bin/bash rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:262: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory" xyz@abc:~$ sudo docker run -it drone/drone:0.7 /bin/bash No help topic for '/bin/bash' 试图在无人机内部生成ssh密钥,以便我可以从私人存储库进行克隆。

使用docker命令在shell中明确使用别名

我有一个别名在我的.bashrc是: alias ansible-galaxy='sudo docker run –rm -it -v $PWD:/app myregistry.com/ansible-galaxy:2.1.0.0' 在我的壳里,我必须这样做: ansible-galaxy -c -r -f galaxy.yml 在一个术语中写出完整的命令是否可行? 看来,如果我执行 sudo docker run –rm -it -v $PWD:/app myregistry.com/ansible-galaxy:2.1.0.0 -c -r -f galaxy.yml 它进入docker集装箱,并找不到docker主机中的galaxy.yml。 任何想法我应该如何解决它?

如何安全地在Docker中运行应用程序

我想在docker容器内安全地运行一个任意的应用程序,就像在一个vm中一样。 为此,我在主机系统的一个目录中保存了应用程序(我从web上下载的,我不信任的),然后创build一个将此目录映射到容器的主目录的卷,然后运行容器内的应用程序。 这种方法有没有安全问题? 有更好的解决scheme来完成相同的任务吗? 而且,为了安装所有必要的依赖关系,我让在容器内运行的bashterminal内执行一个任意的脚本:这可能是危险的吗?

如何在Dockerfile中运行脚本文件(.sh文件)?

我正在创build一个Docker镜像。 我有'install.sh'脚本文件,并希望在Dockerfile中运行此脚本文件。 我应该怎么做?

当在shell脚本中执行时,Docker kill不起作用

当在terminal中逐行手动运行命令时,以下工作正常: docker create -it –name test path docker start test docker exec test /bin/sh -c "go test ./…" docker stop test docker rm -test 但是,当我将它作为shell脚本运行时,Docker容器既不会停止也不会被移除。 #!/usr/bin/env bash set -e docker create -it –name test path docker start test docker exec test /bin/sh -c "go test ./…" docker stop test docker rm -test 我怎样才能使它在一个shell脚本内工作?