我开始和Docker合作了。我正在使用WordPress的基本图像和docker合成。

我正在尝试ssh到其中一个容器中,以检查在初始构建期间创建的文件/目录。我试着运行docker compose运行containername ls-la,但没有任何效果。即使是这样,我也希望有一个控制台,在那里我可以遍历目录结构,而不是运行一个命令。使用Docker的正确方法是什么?


当前回答

要连接到Windows容器中的cmd,请使用

docker exec -it d8c25fde2769 cmd

其中d8c25fde2769是容器id。

其他回答

码头工人组成(码头工人4卢比)

docker-compose exec php bash

我在Linux笔记本电脑上使用Docker for Drupal。运行容器后,我使用“docker compose exec php bash”与容器连接,以便运行drush突击队。这对我来说很好。

我创建了一个终端功能,以便更方便地访问容器的终端。也许这对你们也有用:

结果是,不用键入:

docker exec -it [container_id] /bin/bash

你会写:

dbash [container_id]

将以下内容放入~/.bash_profile(或其他适合您的文件),然后打开一个新的终端窗口并享受快捷方式:

#usage: dbash [container_id]
dbash() {
    docker exec -it "$1" /bin/bash
}

易于理解的

docker exec -it <container_id> bash

在上面-它意味着交互式终端。

此外,图像名称:

docker exec -it <REPOSITORY name> bash

docker exec-it<container_id或name>bash

OR

docker exec-it<container_id或name>/bin/bash

如果容器已经退出(可能是由于某些错误),您可以

$ docker run --rm -it --entrypoint /bin/ash image_name

or

$ docker run --rm -it --entrypoint /bin/sh image_name

or

$ docker run --rm -it --entrypoint /bin/bash image_name

创建一个新容器并将shell放入其中。由于指定了--rm,因此当退出shell时,容器将被删除。