我开始和Docker合作了。我正在使用WordPress的基本图像和docker合成。
我正在尝试ssh到其中一个容器中,以检查在初始构建期间创建的文件/目录。我试着运行docker compose运行containername ls-la,但没有任何效果。即使是这样,我也希望有一个控制台,在那里我可以遍历目录结构,而不是运行一个命令。使用Docker的正确方法是什么?
我开始和Docker合作了。我正在使用WordPress的基本图像和docker合成。
我正在尝试ssh到其中一个容器中,以检查在初始构建期间创建的文件/目录。我试着运行docker compose运行containername ls-la,但没有任何效果。即使是这样,我也希望有一个控制台,在那里我可以遍历目录结构,而不是运行一个命令。使用Docker的正确方法是什么?
当前回答
您可以通过传递选项-ti与docker容器中的终端交互
docker run --rm -ti <image-name>
eg: docker run --rm -ti ubuntu
-t代表终端-i代表交互式
其他回答
去侧溶液
安装goinside命令行工具,包括:
sudo npm install -g goinside
并进入码头集装箱,码头尺寸适当,带有:
goinside docker_container_name
旧答案
我们将此代码段放在~/.profile中:
goinside(){
docker exec -it $1 bash -c "stty cols $COLUMNS rows $LINES && bash";
}
export -f goinside
这不仅使每个人都能够进入一个正在运行的容器:
goinside containername
它还解决了固定Docker集装箱码头尺寸的长期问题。如果你面对它,这是非常令人讨厌的。
此外,如果您按照链接进行操作,您的docker容器名称也会有命令完成。
docker高管肯定会是一个解决方案。解决您提出的问题的一个简单方法是将Docker中的目录安装到本地系统的目录中。
以便您可以立即查看本地路径中的更改。
docker run -v /Users/<path>:/<container path>
使用此命令:
docker exec -it containerid /bin/bash
如果Docker安装了Kitematic,则可以使用GUI。从Docker图标打开Kitematic,在Kitematic窗口中选择容器,然后单击exec图标。
您也可以在这个GUI中看到容器日志和大量容器信息(在设置选项卡中)。
码头工人组成(码头工人4卢比)
docker-compose exec php bash
我在Linux笔记本电脑上使用Docker for Drupal。运行容器后,我使用“docker compose exec php bash”与容器连接,以便运行drush突击队。这对我来说很好。