Chapter 02

Dockerコンテナの起動とイメージのプッシュ

井上嵩章@駆け出しエンジニア
井上嵩章@駆け出しエンジニア
2021.02.24に更新

Dockerコンテナを起動する

workspaceディレクトリにて、docker-compose up -dコマンドで3つのコンテナを一気に起動する

# docker-compose up -d
・
・
・
Creating httpd-container   ... done
Creating tomcat-container1 ... done
Creating tomcat-container2 ... done 

Tomcatコンテナにwarファイルを配備する

各コンテナのコンテナIDを検索する
docker psコマンドで起動中のコンテナ情報を表示する

# docker ps
CONTAINER ID   IMAGE                         COMMAND             CREATED         STATUS         PORTS                      NAMES
c808d4fa0dcf   test_server_tomcat1   "catalina.sh run"   6 minutes ago   Up 6 minutes   8009/tcp, 8080/tcp         tomcat-container1
543b5924b230   test_server_tomcat2   "catalina.sh run"   6 minutes ago   Up 6 minutes   8009/tcp, 8080/tcp         tomcat-container2
27e195ea97ea   test_server_httpd     "/run-httpd.sh"     6 minutes ago   Up 6 minutes   0.0.0.0:80-81->80-81/tcp   httpd-container

warファイルのあるディレクトリで以下のコマンドを実行し、warファイルを配備する
※コンテナIDは全桁入力する必要はない

# docker cp test1.war\ c808d4f:/usr/local/tomcat/webapps/test1.war
# docker cp test2.war\ 543b592:/usr/local/tomcat/webapps/test2.war

コマンドの一般例は以下の通り

docker cp "warファイル名" "コンテID":/usr/local/tomcat/webapps/"warファイル名"

ブラウザから接続確認をする

以下のブラウザからアクセスし、適切なWebシステムが表示されていることを確認。
※筆者のwarファイルではログインページが初期ページのため、以下のURLとなっている。
・localhost:80/test1/Login/login
・localhost:81/test2/Login/login

Dockerイメージ(war配備後)を保存する

docker commitコマンドでwarファイル展開後のイメージを保存する

# docker commit httpd-container "username"/httpd
# docker commit tomcat-container1 "username"/tomcat_1
# docker commit tomcat-container2 "username"/tomcat_2

コマンドの一般例は以下の通り

docker commit "コンテナ名" "保存したいイメージ名(ユーザ名/イメージ名の形式)"

DockerイメージをDockerHubにプッシュする

docker pushコマンドで保存したイメージをリポジトリにプッシュする

# docker push "username"/httpd
# docker push "username"/tomcat_1
# docker push "username"/tomcat_2

コマンドの一般例は以下の通り

docker push "保存したイメージ名(ユーザ名/イメージ名の形式)"