$ docker exec --help
Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Run a command in a running container
Options:
-d, --detach Detached mode: run command in the background
--detach-keys string Override the key sequence for detaching a container
-e, --env list Set environment variables
--help Print usage
-i, --interactive Keep STDIN open even if not attached
--privileged Give extended privileges to the command
-t, --tty Allocate a pseudo-TTY
-u, --user string Username or UID (format: <name|uid>[:<group|gid>])
然后:
在正在运行的容器中运行命令
这意味着您可以使用它exec在正在运行的容器中执行命令。因此,如果您想列出文件和文件夹:
$ docker exec -i nombre-contenedor ls -l
total 56
lrwxrwxrwx 1 root root 7 Jun 20 06:08 bin -> usr/bin
dr-xr-xr-x 2 root root 4096 Aug 30 2016 boot
drwxr-xr-x 5 root root 340 Aug 10 15:34 dev
drwxr-xr-x 2 root root 4096 Aug 9 19:20 docker-entrypoint-initdb.d
-rwxr-xr-x 1 root root 3986 Jul 17 21:55 entrypoint.sh
drwxr-xr-x 40 root root 4096 Aug 10 15:34 etc
drwxr-xr-x 2 root root 4096 Aug 30 2016 home
lrwxrwxrwx 1 root root 7 Jun 20 06:08 lib -> usr/lib
lrwxrwxrwx 1 root root 9 Jun 20 06:08 lib64 -> usr/lib64
drwxr-xr-x 2 root root 4096 Aug 30 2016 media
drwxr-xr-x 2 root root 4096 Aug 30 2016 mnt
drwxr-xr-x 2 root root 4096 Aug 30 2016 opt
dr-xr-xr-x 162 root root 0 Aug 10 15:34 proc
dr-xr-x--- 3 root root 4096 Jul 17 21:55 root
drwxr-xr-x 7 root root 4096 Aug 10 15:34 run
lrwxrwxrwx 1 root root 8 Jun 20 06:08 sbin -> usr/sbin
drwxr-xr-x 2 root root 4096 Aug 30 2016 srv
dr-xr-xr-x 13 root root 0 Aug 10 15:34 sys
drwxrwxrwt 2 root root 4096 Aug 10 15:59 tmp
drwxr-xr-x 18 root root 4096 Jun 20 06:08 usr
drwxr-xr-x 24 root root 4096 Aug 10 15:34 var
标志-i是以交互方式运行它。
Docker Compose 是一个管理多个容器的工具。请记住,容器与 a 一起使用Dockerfile,并且在此文件中运行容器的命令。示例Dockerfile:
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
你需要的是命令
exec
:然后:
这意味着您可以使用它
exec
在正在运行的容器中执行命令。因此,如果您想列出文件和文件夹:标志
-i
是以交互方式运行它。Docker Compose 是一个管理多个容器的工具。请记住,容器与 a 一起使用
Dockerfile
,并且在此文件中运行容器的命令。示例Dockerfile
:命令用
RUN
.为了补充@César 提供的信息,我举了以下示例:
1) 示例 ls -a
描述:上图显示了如何在名为“maps”的容器内执行 ls -a。您不仅可以在 docker 中运行该命令,还可以传递与该命令相关的参数,因为它本机工作。在这种情况下,您可以看到位于操作系统根目录的目录,包括那些隐藏的目录。
2) 示例 mkdir
描述:在上图中,您可以看到如何创建一个位于 docker 中执行的系统根目录中的目录。
3) 触摸示例
说明:上图展示了如何通过执行 touch 命令在 docker 中创建文件。
4) docker 中可用的命令列表
描述:要了解相关操作系统的可用命令(例如,它的发行版指定为 Debian),您可以对位于系统“/bin”根目录的 bin 文件夹创建一个 ls。值得一提的是,并非操作系统中本机存在的所有命令都可以在容器内执行。一个明显的例子是命令“cd”(更改目录)
5) cd 示例(命令不可用)
我希望能有所帮助!一切顺利。
如果您想使用 docker-compose,您应该有一个 docker-compose.yml 文件,其中包含要引发的容器的配置,在这种情况下,您转到您拥有 docker-compose.yml 文件的路径并按照以下语法: docker-compose exec ,在我的情况下,我有一个调用postgres的容器,我想执行sh所以它看起来像这样:docker-compose exec postgres sh,这是我的 docker-compose.yml: