docker中运行bash或其他命令

2023年 7月 16日 47.6k 0

一旦定义了image和Dockerfile,你就可能想要输入容器ID或者名称来运行bash或者其他命令,根据所使用的docker还是docker-compose,有几种不同的方法可以执行此操作。20190131.png

使用docker run创建容器并在其中运行命令,或使用docker exec在现有容器中运行命令。有关这些的更多说明可以在我的博客帖子中阅读:

  • linuxea:docker run与exec的使用差异

docker

假设你知道容器的名称,或者如果你运行docker ps列出正在运行的进程并复制容器名称...

使用docker run或使用docker exec和-i(interactive)标志来保持stdin打开并-t分配终端。

docker exec -i -t container_name /bin/bash

它也可以是这样

docker exec -it container_name /bin/bash

运行一个或多个命令:

docker exec -ti my_container sh -c "echo 1 && echo 2"

docker-compose

等效命令docker-compose run和docker-compose exec自动分配终端,因此你只需运行以下命令即可获得交互式提示:

docker-compose exec container_name sh

相同的结构适用于运行任何命令:

docker-compose exec <container name> <command>

要一起运行一串命令,它们必须连接到shell。例如:

docker-compose exec  <name in yml> sh -c '<command 1> && <command 2> && <command 3>' 

了解更多

现在,你应该能够在docker容器中使用命令行指令。例如,你可以导航文件结构,查看文件,复制或替换容器中的文件 - 这对调试或自定义配置文件非常有用。要了解更多信息,请参阅Docker文档和我的其他帖子。

  • Docker docs:exec
  • Docker-compose docs:exec

    学习更多

学习如何使用Docker CLI命令,Dockerfile命令,使用Bash命令可以帮助您更有效地使用Docker应用程序。查看Docker文档和我的其他帖子以了解更多信息。

  • docker目录
  • 白话容器

相关文章

LeaferJS 1.0 重磅发布:强悍的前端 Canvas 渲染引擎
10分钟搞定支持通配符的永久有效免费HTTPS证书
300 多个 Microsoft Excel 快捷方式
一步步配置基于kubeadmin的kubevip高可用
istio全链路传递cookie和header灰度
REST Web 服务版本控制

发布评论