0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

2本目:ホスト側のWebブラウザから仮想マシンに立てたdocker上のwebサーバーにアクセスする

Posted at

#やりたいこと
 掲題の通り。

#環境

  • ホストOS:Windows 10
  • 仮想マシン:Virtual Box 
    • ゲストOS:Ubuntu(16.04.6)
    • docker

#前提条件

  • ホスト側からゲスト側へアクセスするための設定ができている
    Key Word:NAT + ホストオンリーアダプター

  • ゲストOSにdockerを動かすための環境が整っている

#やったこと

  • Virtual Box:ネットワーク設定からアダプター1(NAT)のポートフォワーディングを以下のように設定
名前(任意) プロトコル ホストポート ゲストポート
HTTP ※1 TCP 50080 80
HTTP ※2 TCP 58080 8080
SSH TCP 50022 22
※1 ゲストOS上にサーバー(Tomcat, apache2等)を立てた状態でホスト側から"http://ゲストOSのIPアド:50080"
にアクセスがあると、立てたサーバーのWelcome Pageに遷移する
※2 docker上に立てたWebサーバーにアクセスするためのポートを指定(ポート番号は任意でOK)
  • Webサーバーのイメージを作成する
    • 今回の目的はただホスト側のWebブラウザからdocker上のwebサーバー(on 仮想マシン)
          にアクセスするだけなので、Webブラウザ上で"Hello world"を出力する単純なWebアプリの
        イメージを作成する。(ここは今回の主眼ではないので手順の概要のみ残す)

    ※Dockerfileは任意のディレクトリ内に作成
    ※Dockerfileを作成したのと同じディレクトリ内にindex.html("Hello world"と記載)も用意しておく
    ※Dockerfileの記載内容は下記の記事を参考にした
    https://qiita.com/nl0_blu/items/1de829288db2670276e8

手順1:ゲストOS上に任意のディレクトリを作成
手順2: 作成したディレクトリ上にDockerfileを作成する

#Dockerfileの中身
FROM centos
CMD echo "now running..."
RUN yum install -y httpd
ADD ./index.html /var/www/html/
#ポート80を開ける
EXPOSE 80
#起動した時にapache起動するコマンド
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]
  • 作成したDockerfileを元にコンテナを起動する
    • 以下のコマンドを実行しコンテナを起動する
$ docker run -d --name コンテナ名(任意) -p 8080:80 イメージ名(or ID)

※ "-p 8080:80"とすることで、ゲストOS側の8080ポートとコンテナ側の80ポートが紐づく。
※ ゲストOS側の8080ポートはホスト側の58080ポートと紐づいているので、
 ホスト側からゲストOS側の58080ポートに受けるアクセスは、ゲストOSの8080ポートを経由して
 コンテナ側の80へのアクセスとなり、コンテナ上のWebサーバーへのアクセスが可能となる。

  • 実際にアクセスしてみる

    ⚪︎ ホスト側からゲスト側へ50080ポート経由でアクセスした場合
      →ゲストOS上で起動しているapache2のデフォルトページが表示される。

50080.png

⚪︎ ホスト側からゲスト側へ58080ポート経由でアクセスした場合
 →"Hello world"が表示される。

58080.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?