Docker 上でマイクロサービスを実行する

 Docker 上でマイクロサービスを実行するには、まずサービスをミラーに作成し、次にそのミラーをパブリック ウェアハウスまたはプライベート ウェアハウスにプッシュし (オプションの手順)、最後に他のミラーと同じ方法でミラーを使用します。
 この記事では、Docker 上でマイクロサービスを実行する 3 つの方法を示します: 1) Dockerfile を使用する; 2) Maven プラグインを使用する; 3) Docker Compose を使用する 1. Dockerfile Dockerfile は、いくつかの命令と命令の説明が含まれるテキスト ファイル
です
 。イメージを作成し、展開パッケージと Dockerfile を同じディレクトリに配置し、docker build コマンドを使用して、Dockerfile に設定されている情報に従って、Dockerfile が配置されているディレクトリのすべての内容をミラーリングします。
1. Dockerfile 命令
 1) FROM: ベース イメージを指定します。これはすべての命令の前に配置する必要があり、現在のイメージが FROM ベース イメージから継承されていることを示します。

FROM <image>
FROM <image>:<tag>
例如:FROM java:8

 2) 追加: ファイルのコピー: Dockerfile ディレクトリ内のファイルを、生成されたイメージ内のファイルにコピーします。

ADD <src> <dest>
例如:ADD test.jar a.jar

 3) COPY: ファイルをコピーします。URL と圧縮パッケージのコピーはサポートされていません。

COPY <src> <dest>

 4) ENV: 環境変数を設定します。

ENV <key> <value>
ENV <key>=<value>
例如:ENV JAVA_HOME /path/to/java

 5) ARG: ビルドパラメータ、つまりビルド時の環境変数を設定します。これらの変数は、コンテナの実行時には存在しません。

ARG <name>=<value>
例如:ARG name=houzigege

 6) ENTRYPOINT: エントリポイント、CMD コマンドと同じで、複数あり、最後のものだけが実行されます。

ENTRYPOINT ["executable", "param1", "param2"]
ENTRYPOINT command param1 param2    #在shell中执行
例如:ENTRYPOINT ["java", "-jar", "a.jar"]

 7) CMD: コンテナの起動時に実行されるコマンド。複数の CMD のうち最後の 1 つだけが実行されます。

CMD ["executable", "param1", "param2"]
CMD["param1", "param2"]      #为ENTRYPOINT指令提供预设参数
CMD command param1 param2    #在shell中执行
例如:CMD echo "this is show when contaniner is starting"

 8) RUN: コマンドを実行します。

RUN <command>
RUN  ["executable", "param1", "param2"]
例如:["/bin/bash", "-c", "echo hello"]

 9) VOLUME: マウント ポイントを指定します。このコマンドにより、コンテナ内のディレクトリに永続ストレージ機能を持たせることができます。このディレクトリは、コンテナ自身で使用することも、他のコンテナと共有することもできます。

VOLUME /path

 10) WORKDIR: 作業ディレクトリを指定します。このコマンドの後に記述される RUN、CMD、ENTRYPOINT は、このディレクトリを現在のディレクトリとして使用し、対応するコマンドを実行します。

WORKDIR /path/workdir

 11) EXPOSE: 実行時にコンテナがサービスを提供するポートを宣言するために使用されます。これは単なるステートメントであり、その機能は、ミラー ユーザーがミラー サービスのガーディアン ポートを理解するのに役立ちます。

EXPOSE port1
EXPOSE port1 port2 port3

 12) MAINTAINER: Dockerfile に署名するためのメンテナの情報を指定します。

MAINTAINER 猴子哥哥

 13) USER: ミラーを開始するために使用されるユーザー、ユーザーまたは UID を設定します。

USER 用户名

 14) ラベル: 画像にメタデータ、いくつかの説明データを追加します。

LABEL <name>=<value>

2. ミラーイメージを作成します。
 1) Dockerfile を作成します。1 の必要な手順を参照してください。
 2) Dockerfile が存在するディレクトリに jar パッケージを置きます。
 3) docker build コマンド

docker build -t 仓库名称/镜像名称:标签 .

 注: このうち、カレント
 ディレクトリイメージの名前変更コマンドを示します。

docker tag 原镜像名:原标签 新镜像名:新标签

3. プライベートウェアハウスへのプッシュ
1) ログイン

docker login ip:port
输入用户名密码

2) 倉庫へのプッシュ

docker push image:tag

注: プッシュのイメージ名の形式は次の条件を満たす必要があります。

ip:port/{project_name}/image:tag

2. Maven プラグインを使用して Docker イメージを構築します
// TODO

3. Docker Compose を使用してマイクロサービスを配置する
// TODO

Docker の基本コマンドを表示するには、https: //blog.csdn.net/qq_21033663/article/details/84963204を参照してください。

参考:「Spring CloudとDockerマイクロサービスアーキテクチャの攻防」

おすすめ

転載: blog.csdn.net/qq_21033663/article/details/104709428