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マイクロサービスアーキテクチャの攻防」