あるコンテナから別のコンテナにデータベースを転送できないのはなぜですか?

あるコンテナから別のコンテナにデータベースを転送できないのはなぜですか?

私の場合、2つの別々のボリュームを実行する2つのmariadbコンテナがあります。

CONTAINER ID   IMAGE                                 COMMAND                  CREATED          STATUS                    PORTS                                                                                                                                                 NAMES
952988c62c2c   mariadb:10.4                          "docker-entrypoint.s…"   22 minutes ago   Up 22 minutes             3306/tcp                                                                                                                                              php_dev_db_1
799f2226367f   mariadb:10.4                          "docker-entrypoint.s…"   4 days ago       Up 30 minutes (healthy)   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp                                                                                                             test_magento-db-1

あるデータベースから別のデータベースにデータベースをパイプしようとしています。

docker exec 799f2226367f mysqldump -u magento -pmagento magento > docker exec 952988c62c2c mysql -u magento -pmagento magento

しかし、エラーが発生します。

mysqldump: Couldn't find table: "exec"

理由はわかりません。

ベストアンサー1

あるデータベースから別のデータベースにデータベースをパイプしようとしています。

|したがって、リダイレクト()の代わりにパイプ()を使用する必要があります>

docker exec 799f2226367f mysqldump -u magento -pmagento magento | docker exec 952988c62c2c mysql -u magento -pmagento magento

リダイレクトは次の単語のみを使用するため、エラーが発生するため、コマンドは次のようになります。

docker exec 799f2226367f mysqldump -u magento -pmagento magento exec 952988c62c2c mysql -u magento -pmagento magento > docker

つまり mysqldump、およびテーブルmagentoをダンプしてみてください。exec952988c62c2cmysql

おすすめ記事