Docker を使用して Linux にマイクロサービスをデプロイする

目次

1. jarパッケージを作成します(一目でわかるものであれば、最後にそのままjarを使用しても大丈夫です)

1. まずマイクロサービスのデモを作成します2

 2. マイクロサービスを開始します (DemoApplication を右クリックしてスタートアップを実行するだけです) 

注: 他の操作によって発生する可能性のあるエラー

 3. ポートを変更する

 4. 新しいビジネス クラス MyController を作成します

5. 再起動して成功したかどうかを確認します

6.jarパッケージの作成

2. マイクロサービスを公開し、dockerfile を通じて Docker コンテナーにデプロイします。

1. Dockerfile を作成します (ファイル名は変更できず、D は大文字にする必要があります)

2. ビルドしてイメージ ファイルにパッケージ化します (実行するディレクトリに切り替えます)。

3. コンテナを実行する

 4.アクセステスト


序文: 本質

https://pan.baidu.com/s/1iUPKvr9Y2_vPd44RRzIf8Q   8eub

1. jarパッケージを作成します(一目でわかるものであれば、最後にそのままjarを使用しても大丈夫です)

1. まずマイクロサービスのデモを作成します2

 2. マイクロサービスを開始します (DemoApplication を右クリックしてスタートアップを実行するだけです) 

注: 他の操作によって発生する可能性のあるエラー

java: org.springframework.boot.SpringApplication
  エラー クラス ファイルにアクセスできません: /C:/Users/kk/.m2/repository/org/springframework/boot/spring-boot/3.0.4/spring-boot-3.0.4 .jar!/org/springframework/boot/SpringApplication.class
    クラス ファイルのバージョン 61.0 が間違っています。52.0 である必要があります。
    ファイルを削除するか、ファイルが正しいクラスパス サブディレクトリにあることを確認してください。

springboot プロジェクトに関する豆知識:

springboot3.0 シリーズはJDK17バージョンのみをサポートします(通常、pom.xml の JDK バージョンも 17 に変更する必要があります)

spring2.0シリーズはデフォルトでJDK8バージョンをサポートしています(一般的に使用されています) 

解決する:

 3. ポートを変更する

 4. 新しいビジネス クラス MyController を作成します

package com.example.demo.comtroller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import java.util.UUID;

/**
 * @ClassName MyController
 * @Description TODO
 * @Author wanghaha
 * @Date 2023/5/4
 **/
@RestController
public class MyController {
    @Value("${server.port}")
    private String port;

    @RequestMapping("/order/docker")
    public String helloDocker()
    {
        return "hello docker"+"\t"+port+"\t"+ UUID.randomUUID().toString();
    }

    @RequestMapping(value ="/order/index",method = RequestMethod.GET)
    public String index()
    {
        return "服务端口号: "+"\t"+port+"\t"+UUID.randomUUID().toString();
    }
}

5. 再起動して成功したかどうかを確認します

http://localhost:6001/order/index       http://localhost:6001/order/docker 

6.jarパッケージの作成

 

 リンク: https://pan.baidu.com/s/16POEwpvTBd7ZVThVKv4dKA抽出コード: gaz4

(上記の操作をしたくない、または詳細を知りたくない場合は、私が用意したjarパッケージを使用してください)

2. マイクロサービスを公開し、dockerfile を通じて Docker コンテナーにデプロイします。

1. Dockerfile を作成します (ファイル名は変更できません。D は大文字にする必要があります)。

# 基础镜像使用java

FROM java:8

# 作者

MAINTAINER zzyy

# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp

VOLUME /tmp

# 将jar包添加到容器中并更名为zzyy_docker.jar

ADD demo2-0.0.1-SNAPSHOT.jar zzyy_docker.jar

# 运行jar包

RUN bash -c 'touch /zzyy_docker.jar'

ENTRYPOINT ["java","-jar","/zzyy_docker.jar"]

#暴露6001端口作为微服务

EXPOSE 6001

マイクロサービス jar パッケージと Dockerfile ファイルを同じディレクトリ /mydocker にアップロードします。


2. ビルドしてイメージ ファイルにパッケージ化します (実行するディレクトリに切り替えます)。

docker build -t zzyy_docker:1.6 。


 

3. コンテナを実行する

 docker run -d -p 6001:6001 zzyy_docker:1.6

 4.アクセステスト

カール 127.0.0.1:6001/order/docker

カール 127.0.0.1:6001/order/index

 次に、サーバー ポートを開き、ローカル IP をサーバー IP に変更するだけです。

おすすめ

転載: blog.csdn.net/qq_40453972/article/details/130489823