まず、リモート操作を実行できるように、Dockerリモートアクセス機能を有効にする必要があります。
Centos 6
/etc/default/dockerファイルを変更し、再起動後に有効になります(Service Docker RestArt)。
docker_opts = "-h = unix:///var/run/docker.sock -h = 0.0.0.0:2375"
Centos 7
/usr/lib/systemd/system/docker.serviceファイルを開き、execstart行を変更します。
コードを次のようにコピーします:execstart =/usr/bin/dockerd -h tcp://0.0.0.0:2375 -h unix:///var/run/docker.sock
再起動後に有効になります
SystemCtl Daemon-Reload SystemCtl Restart Docker.Service
テストが有効かどうか
カールhttp://127.0.0.1:2375/info
新しいMavenプロジェクト
pom.xml構成は次のとおりです。
<Project XMLNS = "http://maven.apache.org/pom/4.0.0" xmlns:xsi = "http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation = "http://maven.apach/4.0. http://maven.apache.org/xsd/maven-4.0.0.0.xsd "> <modelversion> 4.0.0 </modelversion> <groupid> test.springboot.docker </groupid> <artifactid> docker-springboot </artifactid> <バージョン> 0.0.1-snapshot> <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-parent </artifactid> <bersion> 1.5.3.Release </version> </parent> <properties> <java.version> 1.8 </java.version> </properties> <redencies> <redency> <redency> <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-web </artifactid> </dependency> <dependency> springframework.boot </groupid> <artifactid> spring-boot-startertest </supencid> spescope> </scope> spescope> <build> <plugins> <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-maven-plugin </artifactid> </plugin> <plugin> <groupid> com.spotify </groupid> <artifactid> docker-maven-plugin </artifactid> </</</</</> <バージョン> <Imagename> $ {docker.image.prefix}/$ {project.artifactid} </imageName> <dockerdirectory> src/main/docker </dockerdirectory> <dockerhost> http://192.168.1.200:2375 </dockerhost> </<catpppath> <Directory> $ {project.build.directory} </directory> <conding> $ {project.build.finalname} .jar </incruption> </resources> </resources> </configuration> </plugin> </plugins> </build> </project>imageName:画像の名前を指定しますdockerDirectory: dockerfileの場所を指定しますdockerHost: DockerリモートAPIアドレスを指定しますresources: DockerFileと組み合わせて画像を構築するときに使用する必要があるファイルを指します。通常、アプリケーションのJARパッケージを含める必要がありますJavaクラスを作成します
パッケージhello; import org.springframework.boot.springApplication; Import org.springframework.boot.autoconfigure.springbootapplication; Import org.springframework.web.bind.annotation.requestmapping; Import org.springframework.web.bind.annotation.restcontroller;@springbootapplication@restcontrollerpublic class application {@requestmapping( "/")public string home(){return "hello docker world"; } public static void main(string [] args){springApplication.run(application.class、args); }}dockerfileを作成します
SRC/Main/DockerディレクトリにDockerFileという名前のファイルを作成すると、構成は次のとおりです。
javavolume /tmpadd docker-springboot-0.0.1-snapshot.jar app.jarrun bash -c 'touch /app.jar'env java_opts = "" entrypoint ["sh"、 "-c"、 "java $ java_opts -djava.security.egd = file: /" ]
Javaから:公式のDocker Hubが提供するJava画像を指します。この基本的な画像を使用すると、DockerFileはFROM命令を介してそのステータスを直接取得できます。つまり、 javaは既にコンテナにインストールされてから、カスタムコマンドを介してSpring Bootアプリケーションを実行します。
Volume /TMP: /TMPディレクトリを作成し、Dockerデータフォルダーに固執します。これは、スプリングブートで使用される組み込みのTomcatコンテナ/tmpデフォルトで作業ディレクトリとして使用するためです。
docker-springboot-0.0.1-snapshot.jar app.jarを追加:アプリケーションjarパッケージを/app.jarにコピーする
エントリポイント:コンテナが実行された後にデフォルトで実行されるコマンドを示します
完全なディレクトリ構造は次のとおりです。
次のコマンドを実行して、Docker画像を作成します。
パッケージDocker:ビルド
Dockerスタートアップ画像
プロジェクトが正常にアップロードされているかどうかを確認してください
次のように画像コピーコードを開始します:docker run -p 8888:8080スプリングブート/docker -springboot
ブラウザからアクセスします
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。