Docker:从多个容器运行命令

时间:2015-01-17 22:02:04

标签: backup docker

我想执行一个使用多个容器命令的命令。

例如,我想执行一个使用psql和pg_dump命令的备份脚本。

docker exec db_backup pg_dump
failed to exec: exec: "pg_dump": executable file not found in $PATH

docker run有一个选项--linkexec是否有类似的选项?

要清除这一点,有3个容器:

  • my_app应用
  • 分贝
  • 在db_backup

我想在我的db脚本中使用db_backup中的pg命令。

2 个答案:

答案 0 :(得分:1)

--link没有docker exec选项。如果要使用特殊脚本进行备份:

  1. 从postgresql(db_backup容器使用的那个)开始创建一个新映像db,将备份脚本添加到某个文件夹。
  2. 执行docker run --volumes-from db db_backup your_backup_script.sh

答案 1 :(得分:0)

1)使用db

转到sudo docker run -ti db /bin/bash shell

2)如果第一次失败,请输入which pg_dumplocate pg_dump

3)使用命令sudo docker exec db /full_path_to/pg_dump

中的完整路径

db容器

中运行3)

注意:在我的Fedora上,pg_dump指向/usr/bin/pg_dump