2016-09-23 14 views
1

Dockerコンテナではなく仮想ホストを使用しています。私のローカルボックスから区切られたマシンにアクセスするためにsshトンネルを作成するのは正常な作業プロセスでした。たとえば私のpsqlクライアントとPostgresのインスタンスを接続すると、私は砦のボックスからしか届くことができません。sshトンネルを使用した場合と同じです

Dockerを使用すると、すべてがボックスから離れています。 Dockerと同じことをすることに相当するものはありますか? DockerインスタンスからRDSインスタンスへのトンネル?

答えて

0

docker CLIを使用して、実行中のコンテナに接続します。例えば...(ローカルマシンから)あなたが使用することができ、コンテナで実行されているデシベル

docker exec -it mypsqlcontainer psql -U username dbname 

にログインするために

は私がホストにssh接続する必要はありません個人的にほとんどありません。ドッカーCLIを使用してすべてを行うことができます。

+0

偉大なので、これをドッカーコンテナIDを参照するコマンドと組み合わせる必要がありますか? – Mahoni

+0

コンテナに名前を付けて、IDの代わりに名前を使用すると簡単です。 例: ドッキングウィンドウの実行-d --name mysqlcontainerのmysql:最新 その後、あなたはコンテナIDを把握することなく、上記の私の 'ドッカ幹部..'ラインを使用することができます。 もちろん、これは各コンテナのインスタンスが1つの場合にのみ機能します。 '--name'は、' --scale'を使って与えられたサービスに対して複数のコンテナを作るときには指定できません。 – Alkaline

0

ドッキングホストにssh-tunnelを作成できます。 DBポートはドッカーホストからアクセスできる必要があります(つまり、 "-p"ドッカー実行オプションを使用して)。

DBポートを公開しない場合は、sshサーバーを使用してジャンプボックスコンテナを作成し、このコンテナにポート22を公開し、ジャンプボックスコンテナとDBコンテナをリンクするユーザーコンテナを公開します。

関連する問題