hotch-potch, Note to self

いろいろ作業記録

Virtual Box上のLinuxデーモンにホストOSからアクセス

1.はじめに

Virtual Boxの中で動かしているUbuntu Linuxのデーモンへのアクセス方法の覚え書きです。

ここで紹介するデーモンの例

  1. samba
  2. sshd
  3. PostgreSQL on Docker

構成

  1. ホスト
  2. ゲスト
    • Ubuntu Linux 20.04 LTS 日本語Remix版
    • ゲストOSのホスト名:ubuntuvb

2.VirtualBox側の設定

ゲストOSを起動する前に設定をしておきます。

ホストOSから、VirtualBoxのゲストOSのポートを見えるようにします。

  1. イメージの一覧を右クリックして「設定...」を開く f:id:hotch-potch:20200611131541p:plain

  2. 「ネットワーク」を選択 f:id:hotch-potch:20200611131412p:plain

  3. 「アダプター2」を選択

  4. ネットワークアダプターを有効化」のチェックを入れる
  5. 「割り当て」ドロップダウンリストから、「ホストオンリーアダプタ」を選択 f:id:hotch-potch:20200611131432p:plain

  6. OKボタンを押して設定完了 f:id:hotch-potch:20200611131445p:plain

設定が終わったら、ゲストOSを起動します。

3.デーモンごとの説明

(1)samba

インストール

$  sudo apt install samba

設定、およびユーザの作成については、下記を参照ください。

ホストOS側からアクセス

エクスプローラのアドレスバーに\\ubuntuvbを入力しアクセスすると、ゲストOS側のホームディレクトリが見えました。

f:id:hotch-potch:20200611133610p:plain

(2)sshd

インストール

$  sudo apt install openssh-server

ホストOS側からアクセス

ゲストOS側のsshにログインできました。 f:id:hotch-potch:20200611133221p:plain

(3)PostgreSQL on Docker

Dockerのインストール

公式ページの手順に従います。

Install Docker Engine on Ubuntu | Docker Documentation

一般ユーザでもDockerの操作ができるように、自分のユーザ名をdockerグループに追加します。

$ sudo usermod -aG docker <自分のユーザ名>

PostgreSQLのコンテナを起動

起動オプションに、ポートの指定を追加します。

-p <ホストOS側>:<ゲストOS側>

PostgreSQLのポートは5432番です。 下記の例では、ホスト・ゲスト両方とも5432を指定しています。

$ docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -d postgres

ホストOS側からアクセス

ユーザ名 postgres
パスワード mysecretpassword
ポート 5432 (-pオプションの<ホストOS側>の番号です)

f:id:hotch-potch:20200611134421p:plain

ゲストOS側のデータベースに接続できました。 f:id:hotch-potch:20200611134352p:plain

4.参考資料