いろいろ書いていく

やってみたなど

DockerでTomcatその1

Docker imageを準備するにはいくつかの方法がある.

  • docker image pull
  • docker build
  • docker import

などなど

今回はdocker image pullで公式イメージを落として,コンテナを起動するところまでをやってみる.

環境

コンテナで立てるアプリはApache Tomcat.
Apache Tomcat - Wikipedia

公式イメージの使用可能なバージョン等はDocker Hubで確認できる
https://hub.docker.com/_/tomcat/
今回は執筆時点におけるlatestバージョンである8.5.35を用いる.

手順

  • Docker Tomcat公式イメージをバージョン指定(8.5.35)で取得
$ docker image pull tomcat:8.5.35
8.5.35: Pulling from library/tomcat
54f7e8ac135a: Pull complete 
d6341e30912f: Pull complete 
 (sniped)
d1786b40ed4f: Pull complete 
Digest: sha256:d6f67aacce64010880a1e9ea6f0ace9fe9e20d39aae0489c8e88b4c14effe3a0
Status: Downloaded newer image for tomcat:8.5.35
  • 成功するとイメージ一覧に追加される.
$ docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tomcat              8.5.35              48dd385504b1        5 days ago          475MB
  • 追加されたイメージを用いてコンテナを起動する
$ docker container run -p 80:8080 --name my-tomcat-1 tomcat:8.5.35
 (snip)
XX-Dec-2018 15:00:37.407 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 2327 ms

(なお,今回は先にイメージ取得を行なったが,docker container runすると足りないイメージも取得してくれるので,イメージ取得は省略できる.
いきなりdocker container run..をしても同じ結果となる.)

  • 新たにターミナルを開いて以下のコマンドを実行し, コンテナが起動していることを確認
$ docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS                  NAMES
82b62a5f6b31        tomcat:8.5.35       "catalina.sh run"   About a minute ago   Up About a minute   0.0.0.0:80->8080/tcp   my-tomcat-1
  • コンテナとイメージを(目的は果たしたので)削除
# コンテナ停止
$ docker container stop my-tomcat-1
# コンテナ削除
$ docker container rm my-tomcat-1
$ docker container ls
# イメージ削除
$ docker image rm tomcat:8.5.35
$ docker image ls

以上