标签: docker-exec

docker attach和docker exec之间的区别

两者都能够在容器中执行命令.两者都可以分离容器.

那么docker exec和docker attach之间的真正区别是什么?

exec docker docker-exec

69
推荐指数
4
解决办法
3万
查看次数

docker exec的默认用户是什么?

root默认的用户打电话时docker exec(没有--user)?

做了USER在Dockerfile线影响默认用户docker exec

docker docker-exec

10
推荐指数
2
解决办法
5370
查看次数

写入正在运行的 docker 容器的标准输入

假设我将 docker 容器作为守护进程运行:

docker run -d foo
Run Code Online (Sandbox Code Playgroud)

有没有办法写入该容器的标准输入?就像是:

docker exec -i foo echo 'hi'
Run Code Online (Sandbox Code Playgroud)

上次我检查-i-d标志与docker run命令一起使用时是互斥的。

docker docker-exec docker-run

7
推荐指数
2
解决办法
4312
查看次数

通过节点js脚本执行docker命令

除了使用shelljs(类似包)执行这些命令之外,还有没有更好的方法可以从节点js执行docker命令?

我看过dockerode这个包。虽然它对某些命令很有用,但它并没有对“docker exec”命令给出太多的看法。

我只需要在从 shelljs 无法提供的 nodejs 执行 docker exec 时进行更多控制。我想知道一旦 docker exec 命令被执行,它是否被成功执行。

node.js docker docker-exec

6
推荐指数
1
解决办法
9971
查看次数

如何将 Deployer 与 Docker (Laradock) 一起使用

我使用 Docker 创建了一个新的 Digital Ocean 服务器(使用Laradock),并使我的 Laravel 网站运行良好。

\n\n

现在我想使用Deployer自动化部署。

\n\n

我认为我唯一的问题是我无法让 Deployer 运行docker exec -it $(docker-compose ps -q php-fpm) bash;,这是我成功手动使用进入适当 Docker 容器的命令(在使用 SSH 从我的本地计算机连接到 Digital Ocean 服务器之后)。

\n\n

当 Deployer 尝试运行它时,我收到以下错误消息:

\n\n
\xe2\x9e\xa4 Executing task execphpfpm\n[1.5.6.6] > cd /root/laradock && (pwd;)\n[1.5.6.6] < /root/laradock\n[1.5.6.6] > cd /root/laradock && (docker exec -it $(docker-compose ps -q php-fpm) bash;)\n[1.5.6.6] < the input device is not a TTY\n\xe2\x9e\xa4 Executing task deploy:failed\n\xe2\x80\xa2 done on [1.5.6.6]\n\xe2\x9c\x94 Ok [3ms]\n\xe2\x9e\xa4 Executing task …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose php-deployer laradock docker-exec

6
推荐指数
1
解决办法
5709
查看次数

Docker exec 需要最少 2 个参数

我在 Linux 上使用 shell 脚本来执行一些 Docker 命令:

docker exec -t -i test1 passwd
...
docker exec -t -i test2 passwd
Run Code Online (Sandbox Code Playgroud)

在第二个 exec 命令中,我收到以下错误:

docker: "exec" requires a minimum of 2 arguments.
Run Code Online (Sandbox Code Playgroud)

我做错了什么,或者我错过了什么?

先感谢您。

shell docker docker-exec

5
推荐指数
1
解决办法
6941
查看次数

在'docker exec'命令中执行'bash -c'

上下文:我正在尝试为日常使用该docker exec命令编写一个快捷方式。由于某些原因,我正在尝试一个问题,当我在容器内使用bash控制台时,有时输出会中断(历史被弄乱了,在我写的时候,行彼此覆盖,...)

在这里读到,您可以通过在启动bash控制台之前添加一些命令来克服此问题。


这是我的脚本的相关摘录

#!/bin/bash
containerHash=$1
commandToRun='bash -c "stty cols $COLUMNS rows $LINES && bash -l"'

finalCommand="winpty docker exec -it $containerHash $commandToRun"
echo $finalCommand
$finalCommand
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出:

winpty docker exec -it 0b63a bash -c "stty cols $COLUMNS rows $LINES && bash -l"
cols: -c: line 0: unexpected EOF while looking for matching `"'
cols: -c: line 1: syntax error: unexpected end of file
Run Code Online (Sandbox Code Playgroud)

在这里读到,这与解析和扩展有关。但是,我不能使用函数或eval命令(或者至少我没有成功使它起作用)。

如果我直接在终端中执行第一条输出线,那么它将正常工作。

我该如何克服这个问题?

bash docker docker-exec

5
推荐指数
1
解决办法
3090
查看次数

在 docker 容器上运行 powershell 或 cmd

我想检查我的 docker 容器的内容。我想在容器内运行powershell或命令提示符,以便可以列出目录。

此容器映像使用 ASP.net 4.6.1框架托管ASP.NET Web API应用程序。

在此输入图像描述

我运行了以下命令:

  1. docker container ls - to list conatiners
  2. docker exec -i -t a1da40af6b3c powershell

但什么也没发生(如图所示)。我错过了什么吗?

asp.net-web-api docker docker-for-windows docker-exec docker-desktop

5
推荐指数
1
解决办法
1万
查看次数

输入与Google Cloud Run一起运行的Docker容器

是否可以输入由Google Cloud Run驱动的容器?以某种方式docker exec -it CONTAINER /bin/bash

我遇到一个错误,我无法在本地或基于Google Cloud Shell的容器上基于相同的映像来复制运行容器。
对于使用Cloud Shell连接到Cloud Run还是从本地环境进行连接,我并不挑剔。

docker docker-exec google-cloud-run

5
推荐指数
1
解决办法
165
查看次数

Docker exec 命令非常慢

我已经构建了 docker 容器系统,其中容器包含命令行应用程序。我传递参数并使用来自另一个应用程序的 docker exec 命令运行应用程序。

当我从 docker 内部运行命令行应用程序时,需要 0.003 秒才能运行。

$ time comlineapp "hello"

但是当我使用 docker exec 从外部 docker 运行它时,需要 0.500 秒

$ time docker exec comline app "hello"

显然 docker exec 需要很多时间。我们需要任何帮助来尽可能减少 docker exec 命令的时间。

这是泊坞窗文件

FROM ubuntu:18.04

RUN adduser --disabled-password --gecos "" newuser

ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get -y install time && \
    apt-get -y install gcc mono-mcs && \
    apt-get install pmccabe && \
    rm -rf /var/lib/apt/lists/*

Run Code Online (Sandbox Code Playgroud)

所有必需的软件都已安装。

docker docker-exec

5
推荐指数
1
解决办法
2915
查看次数

使用“docker exec”访问特权 Docker 容器中的 ttyUSB 时权限被拒绝

我正在尝试访问已经运行的特权 Docker 容器中的串行端口(作为用户),但我收到“权限被拒绝”错误,而权限应该正确设置。作为一个最小的可重现示例(假设串行设备连接到 /dev/ttyUSB0):

# start docker container with your user id, give it privileged access and mount /dev
docker run -itd --user $(id -u) --name test --privileged -v /dev:/dev ubuntu
# add user and add it to dialout (not sure if this is necessary as we have privileged access)
docker exec -it --user 0 test sh -c "groupadd -g $(id -g) user && useradd -m -u $(id -u) -g $(id -g) -G dialout user"
# install picocom to test …
Run Code Online (Sandbox Code Playgroud)

permissions serial-port docker docker-exec

5
推荐指数
1
解决办法
5489
查看次数

docker exec丢失了

我有ubuntu 14.04,它缺少docker exec

sudo docker exec -it ubuntu_bash bash
Run Code Online (Sandbox Code Playgroud)

我希望在现有的运行docker容器中运行交互式bash shell.

sudo docker version
Client version: 1.0.1
Client API version: 1.12
Go version (client): go1.2.1
Git commit (client): 990021a
Server version: 1.0.1
Server API version: 1.12
Go version (server): go1.2.1
Git commit (server): 990021a
Run Code Online (Sandbox Code Playgroud)

exec docker docker-exec

4
推荐指数
2
解决办法
2427
查看次数