docker-composeの詳細なインストールと使用方法

docker-composeの詳細なインストールと使用方法

Docker Compose は、複雑なアプリケーションを定義および実行するための Docker ツールです。 Docker Compose を使用すると、コンテナを起動するためにシェル スクリプトを使用する必要がなくなります。 (docker-compose.yml 経由で設定)

Docker Composeのインストール

Githubソース

sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# docker-compose に実行権限を追加する sudo chmod +x /usr/local/bin/docker-compose

Daocloud ソース

curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# docker-compose に実行権限を追加する sudo chmod +x /usr/local/bin/docker-compose

Docker Compose のアンインストール

sudo rm /usr/local/bin/docker-compose

Docker Composeのバージョンを確認する

docker-compose --version

Dockerfileを構成する

#ベースイメージを指定してカスタマイズする FROM java:8

#メンテナー情報 メンテナー zhouzhaodong <[email protected]>

#作業ディレクトリを設定する WORKDIR /apps/demo

#コンテナにdemo-0.0.1-SNAPSHOT.jarを追加します。ADD demo-0.0.1-SNAPSHOT.jar demo-1.0.0.jar

#bash モードで実行して、demo-1.0.0.jar にアクセスできるようにします。#RUN新しいレイヤーを作成し、そのレイヤーでこれらのコマンドを実行します。実行が完了したら、このレイヤーの変更をコミットして新しいイメージを形成します。
bash -c "touch /demo-1.0.0.jar" を実行します。

# ランタイム コンテナによって提供されるサービス ポートを宣言します。これは単なる宣言です。この宣言により、アプリケーションは実行時にこのポートのサービスを開きません。EXPOSE 8080

#コンテナの起動プログラムとパラメータを指定します <ENTRYPOINT> "<CMD>"
エントリポイント ["java","-jar","demo-1.0.0.jar"]

docker-compose.ymlファイルを設定する

# バージョン: '3.0'
サービス:
 デモ:
  # build は、Dockerfile が配置されているファイル パスを指定するために使用されます。build: 。
  # マッピングポートポート:
  - 「8080:8080」
  volumes: #コンテナデータを保存するファイルディレクトリを指定します。
  # $PWD は現在のパスを表します - $PWD/data:/var/lib/log

docker-compose の一般的なコマンド

build: #キャッシュなしでイメージをビルドする docker-compose build --no-cache;
up: # コンテナをビルドして起動する docker-compose up -d
down: # すべてのコンテナを削除し、ミラーリング docker-compose down
restart: #コンテナを再起動します docker-compose build; docker-compose down; docker-compose up -d

docker-composeコマンドを実行してイメージをビルドして実行します。

  • まず、ホスト マシンに新しいフォルダーを作成し、Dockerfile、docker-compose.yml、および先ほど作成した jar パッケージを保存します。
  • まずディレクトリに入り、down コマンドを実行して、以前に作成したすべてのイメージを削除します。
  • ビルド コマンドを実行してイメージを生成します。
  • up コマンドを実行してコンテナを起動します。
  • IP+ポート番号にアクセスすると、プログラムが表示されます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • docker-composeをインストールする最も簡単な方法2つ
  • 一般的なDocker Composeコマンドの詳細な説明
  • Docker Compose チュートリアル
  • Docker-Compose の詳細な使用例
  • Docker-Composeコマンドの使い方の詳しい説明
  • Docker Compose 構成ファイルの記述とコマンドの使用例

<<:  MySQL双方向バックアップの実装方法

>>:  Vueモバイル端末が指のスライド効果を実現

推薦する

HTML の相対パス (Relative Path) と絶対パス (Absolute Path) の詳細な理解

私は 1 年以上 Java Web 開発に携わっており、HTML または JSP ページの作成は避け...

JSはjQueryのappend関数を実装します

目次コードを見せてください効果をテストする効果追伸別のアプローチコードを見せてください HTMLEl...

Web開発で使用される基本的な概念と技術の紹介

本日は、Web 開発で使われる基本的な概念と技術を初心者向けに紹介します。A から Z まで合計 2...

MySQLメモリストレージエンジンに関する知識

メモリストレージエンジンに関する知識ポイントメモリ ストレージ エンジンは日常業務ではほとんど使用さ...

HTMLハイパーリンクタグAのTARGET属性の詳細な説明

ハイパーリンク <a> タグはリンク ポイントを表します。これは英語の単語「anchor...

React イベントバインディングの詳細

目次クラスコンポーネントイベントバインディング関数コンポーネントイベントバインディング要約するRea...

Vue Notepadの例の詳細な説明

この記事の例では、メモ帳機能を実装するためのVueの具体的なコードを参考までに共有しています。具体的...

ウェブページで Enter キーを押すと自動的にフォームを送信し、他のページにジャンプするソリューション

ウェブページでEnterキーを押すと、フォームは自動的に送信され、他のページに移動します。クエリフォ...

MySQL のロックに関する問題

ロックの分類:データ操作の粒度から:テーブルロック:操作時にテーブル全体がロックされます。行ロック:...

CSS でよく使用されるフォントサイズ、フォント単位、行の高さの詳細な説明

px(ピクセル)ピクセルという言葉は皆さんもよくご存知だと思います。次に、この単位に関するちょっとし...

CSS の高度な使い方(実戦で活用)

1. ul タグには、Mozilla ではデフォルトでパディング値がありますが、IE ではマージン値...

動的テーブルを実装するための要素サンプルコード

目次【コード背景】 【コード実装】 #1# -> コード再利用の基本は、再利用可能なコンポーネ...

docker での psql データベースのバックアップとリカバリの詳細な説明

1. DockerでのPostgresデータベースのバックアップ注文: docker exec it...

MySQLの明示的な型変換の簡単な分析

CAST関数前回の記事では、型変換を表示するために使用する CAST 関数について説明しました。暗黙...

JS のあらゆる場所で絶対等価演算子の使用をやめる

目次概要1. NULL値のテスト2. ユーザー入力を読み取る導入事実の根源はどこにあるのでしょうか?...