Dockerファイルコマンドの説明Daquan
1.Dockerファイルの基本的な手順
Dockerfileの構成 | 命令 |
---|---|
基本的なミラーリング手順 | から |
メンテナ情報 | メンテナー |
ミラー操作説明書 | コピーを実行します。追加、公開等 |
コンテナの起動時に実行 | CMD、ENTRYPOINT |
2.Dockerfile命令の詳細な説明
Dockerfileの説明 | 使用説明書 |
---|---|
から | 最初の命令は、ベースミラーリングを指定するFROM命令である必要があります |
メンテナー | 指定メンテナ情報 |
RUN | 現在の画像に基づいて、指定されたコマンドを実行します |
CMD | コンテナの起動時に実行されるコマンド |
EXPOSE | Dockerサーバーコンテナによって公開されているポート番号 |
ENV | 環境変数を指定します |
追加 | 指定したソースパスをコンテナ内のターゲットパスにコピーします |
コピー | ローカルホストのソースパス(Dockerfileが配置されているディレクトリの相対パス)をコンテナ内のターゲットパスにコピーします |
エントリーポイント | コンテナーの開始後に実行されるようにコマンドを構成します。dockerrunによって提供されるパラメーターでオーバーライドすることはできません。 |
ボリューム | ローカルホストまたは他のコンテナからマウントできるマウントポイントを作成します |
ユーザー | このコマンドで実行中のユーザーを指定します |
WORKDIR | 後続のRUN、CMD、ENTRYPOINT命令用に作業ディレクトリを構成します |
オンビルド | 作成した画像を他の新しく作成した画像のベース画像として使用する場合に実行する操作手順を設定します |
1. dockerファイルを使用して、最初のspringBootプロジェクトをビルドします
apps.jarのspringBootパッケージをアップロードします
2.Dockerfileを作成します
vim Dockerfile
Dockerfileのコンテンツは分散化されています。
FROM java:8
VOLUME /tmp
ADD apps.jar /apps.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/apps.jar"]
3.dockerでビルドする
docker build -t apps .
4.dockerを使用してイメージを開始します
docker run -d -p 8888:8888 --name apps apps
5.コンテナアプリのlogコマンドを表示します。
docker logs -f -t --tail 200 apps
これまでのところ、helloWordレベルでのdockerのspringBootアプリケーションは問題ありません。
2.2 envコマンドを使用して、コンテナが使用する動的変数を渡します
shスクリプトによって渡されたENTRYPOINTは、着信無効化の問題を解決しません。
FROM baseimage
VOLUME /tmp
WORKDIR /usr/website/app
RUN ls
RUN mkdir -p /usr/website/app && \
cd /usr/website/app
RUN ls
COPY startup.sh /usr/website/app
COPY apps.jar /usr/website/app
RUN chmod +x /usr/website/app/startup.sh
#定义的默认参数
ENV XMSTEST 20M
# 打印一下默认值
RUN echo 'XMSTEST=' $XMSTEST
#启动脚本时要把变量传入
CMD sh /usr/website/app/startup.sh $XMSTEST
#!/bin/bash
XMSTEST=$1
echo "XMSTEST=" ${XMSTEST}
java -Xms:${XMSTEST} -Djava.security.egd=file:/dev/./urandom -jar apps.jar
コンテナを起動するだけです
#启动命令
docker run -p 8888:8888 -e XMSTEST="90M" -d --name apps apps
3.Dockerコンテナ関連の操作
Dockerを実行すると、関連する画像がコンテナになります
#すべてのコンテナを表示
docker container ls -a
#通过container id 删除container
docker rm 1c4586fe95ee
4.Dockerイメージ関連の操作
1.すべてのミラーを表示する
docker image ls
2.ミラーを削除します
通过repository删除
docker rmi bigni/test3
#通过image id 删除
docker rmi e2b5b08cc31c
5.docker maven
周囲:
- jdk1.8
- Maven
- docker(最新バージョン)
1:Pom.xmlはDocker関連のプラグインを追加します
<build>
<finalName>springBootDocker</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.2.0</version>
<configuration>
<imageName>docker-springBoot:v1</imageName>
<baseImage>java</baseImage>
<entryPoint>["java","-jar","/${project.build.finalName}}.jar"]</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}}</directory>
<include>${project.build.finalName}</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
2:ソースコードパッケージをLinuxシステムにアップロードします
3:mavenコマンドを使用してビルドします
mvn clean package docker:build
docker images