Docker内にOrientDBをインストールしました。bin フォルダー内でスクリプトを実行したいのですが、通常のエクスプローラーのように OrientDB のディレクトリにアクセスする方法が見つかりません。OrientDB インストールのすべてのフォルダーを表示して操作できるように、Docker インストールをローカル インストールのように使用する方法はありますか?
1 に答える
docker コンテナ内でそれらにアクセスしたい場合は、これを行うことができます: コンテナを起動してから、docker exec -i -t CONTAINER_NAME bash
またはdocker exec -i -t CONTAINER_NAME /bin/sh
. この特定のイメージに bash/sh がインストールされている場合は、シェルにアクセスして、そこで必要なことを行うことができます。
もう 1 つの方法は、Docker ボリュームを使用することだと思います。ホスト パスをコンテナー パスにマップすると、外部で行った変更が認識されます。
ホストシステム上のいくつかのフォルダーをorientdbが期待する場所にマップすると、そこにファイルが作成されます。mysql の docker-compose.yml からのマッピングの抜粋:
alldbhost:
ports:
- "3306:3306"
image: percona:5.5
volumes:
- ./etc/timezone:/etc/timezone
- /dev/shm/mysql/:/var/lib/mysql
- ./etc/mysql/:/etc/mysql
- /home/user/temp/mysql_replication:/local/mysql/binlog
environment:
TERM: xterm
実際、orientdbマニュアルには次の手順が
記載されています。docker run --name orientdb -d -v <config_path>:/opt/orientdb/config -v <databases_path>:/opt/orientdb/databases -v <backup_path>:/opt/orientdb/backup -p 2424 -p 2480 nesrait/orientdb-2.0
-v <databases_path>:/opt/orientdb/databases
データベースファイルが配置されるホストシステム上のパスです
orientdbをコンテナー (ubuntu など)内にインストールした場合は、orientdb 構成ファイルを検索し、データベースを格納する場所を見つけて、ホスト ディレクトリをコンテナーのディレクトリにマップする必要があります。