最終的な効果は次のとおりです
ほぼいくつかのステップがあります
1。DockerCEのインストール2。Redisイメージ3を実行する3。Java環境の準備4。プロジェクトの準備5。DockerFileを書き込む6。リリースプロジェクト7。テストサービス
環境の準備
1。DockerCEをインストールします
中国で使用することをお勧めしないでください:「インストールのためのスクリプト」、ダウンロードされ、非常にゆっくりとインストールされます。ステップ1を使用してインストールして、次のリンクを参照してください:一般的なインストール方法
1.定期的なインストール方法
ubuntu 17.04 x64インストールDocker CE
http://www.ymq.io/2018/01/11/docker-install-docker-ce
2。スクリプトをインストールします
国内の設置にはスクリプトは推奨されません。
Docker CEをインストールします
$ curl -fssl get.docker.com -o get -docker.sh $ sudo sh get -docker.sh
<出力Truncated> Dockerを非ルートユーザーとして使用する場合は、ユーザーを「Docker」グループに検討する必要があります。SudoUsermod-Ag Docker-Ag Your-UserRememberは、これを有効にするためにログアウトして戻る必要があります!詳細については、https://docs.docker.com/engine/security/security/#docker-daemon-attack-surfaceを参照してください。
Docker CEを確認します
Docker CEがHelly-Worldイメージを実行することにより正しくインストールされていることを確認します
$ sudo docker run hello-worldroot@souyunku:〜#sudo docker imagesRepositoryイメージID作成sizehello-world最新のf2a91732366c 7週間前1.85kb
2. Redis画像を実行します
1。ミラーを実行します
$ docker run -name redis -6379 -p 6379:6379:6379:6379 -d redisunable 'redis:rest' locallylatest:redisc4bb02b17bb4:プル58638ACF67C5:プルF98D108CC38B 5D5F41793421:完全なED89FF0D9EB2を引いてください:完全なダイジェストをプル:SHA256:0E773022CD6572A515151515153CDF9B1C6785EB13F6B2974B1STATUS:Downlow sea Redis:最新2F1F20F672E386A61644E1C08232EA34BDFD6A0C244B55FA833FCFD6DDDD207288
2。鏡を確認してください
鏡を表示します
root@souyunku:〜#docker画像Redisrepositoryタグ画像ID作成sizeredis最新の1E70071F4AF4 4週間前107MB
ミラープロセスを表示します
root@souyunku:〜#docker pscontainer id imageコマンド作成ステータスポートName2f1f20f672e3 redis "docker-entrypoint.s ..." 14秒上14秒上0.0.0.0.0:6379->6379/TCP Redis-63799
コンテナプロセスを表示します
root@souyunku:〜#docker container pscontainer id imageコマンド作成ステータスポート名2f1f20f672e3 redis "docker-entrypoint.s ..." 7分前7分0.0.0:6379-> 6379/TCP Redis-6379
3. Redisサービスをテストします
Redis-Cliを介してRedisサービスに接続して、データをテストします
root@souyunku:〜#docker run -it -link redis -6379:redis - rm redis redis -cli -h redis -p 6379redis:6379> set count 1okredis:6379> get count "1" redis:6379> exitroot@souyunku:〜##〜#
3。Java環境の準備
注:次の手順を読んでください! ! !
1. Java環境は、GitHub Maven Springboot Sample Projectをコンパイルして準備することです
2。または、自分でローカルにコンパイルしてアップロードすることができます。次に、次のJava環境をインストールします。JDK、Maven、Git、そして構成なしで実行できます。
1. JDKをインストールします
JDKメソッドをダウンロード:1
Linux環境でjdk1.8をダウンロードするには、(公式Webサイト)にアクセスしてJDKインストールファイルをダウンロードしてください
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
JDKメソッドをダウンロード:2
Baidu Cloud Diskでの私のリンク:http://pan.baidu.com/s/1jifzf9sパスワード:u4n4
JDKメソッドをダウンロード:3
WGETを使用してダウンロードし、
$ wget -no-cookies -no-check-certificate - header "cookie:gpw_e24 = http%3a%2f%2fwww.oracle.com%2f; oraclelicense = Accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u1415/336fa29ff2bb44441e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz
注:jdkメソッドをダウンロードする場合は:3
次に、次の手順で、JDK1.8.0_144はJDK1.8.0_141に置き換えられます
インストールを開始します
/optディレクトリにアップロードします
減圧
$ CD /OPT $ TAR ZXVF JDK-8U144-LINUX-X64.TAR.GZ $ MV JDK1.8.0_144 / /LIB /JVM
環境変数を構成します
$ vi/etc/profile#jdkeexport java_home =/lib/jvmexport jre_home = $ {java_home}/jre export classpath =。:$ {java_home}/lib:$ {jre_home}/lib export path = $ {java_home}/bin:$ path環境変数を効果的にします
$ source /etc /プロファイル
確認する
root@souyunku:〜#java -versionjavaバージョン "1.8.0_141" Java(TM)SEランタイム環境(ビルド1.8.0_141-B15)Java Hotspot(TM)64ビットサーバーVM(ビルド25.141-B15、混合モード)
2. Mavenをインストールします
$ apt-getインストールmaven
Mavenを確認します
root@souyunku:〜#mvn -vapache maven 3.3.9maven home:/usr/share/mavenjavaバージョン:1.8.0_141、ベンダー:Oracle CorporationJava Home:/JVM/JRedefault Locale:EN_US、Platform Socoding:UTF-8OS: "LINUX:" 4.10.0-gen 「AMD64」、家族:「Unix」
3. gitをインストールします
$ apt-getインストールgit
Mavenを確認します
root@souyunku:〜#git -versiongitバージョン2.11.0
4。プロジェクトの準備
1.プロジェクトをコンパイルします
1.サーバーでプロジェクトを自分でコンパイルする
Gitを使用してプロジェクトをクローンします
$ git clone https://github.com/souyunku/other-projects.git
Mavenを使用してプロジェクトをコンパイルします
$ cd other-projects/docker-spring-boot-demo/
2。プロジェクトを変更します
Redis ServerアドレスSpring.Redis.Host = 45.32.44.217をローカルIPに変更します。 Redis画像を実行すると、Redisは外部ネットワークサービス0.0.0.0:6379->6379/TCPになりました
$ vi Src/main/resources/application.properties#Redis ServerアドレスSpring.redis.host = 45.32.44.217 $ MVNパッケージ
docker-spring-boot-demo-0.0.1-snapshot.jarプロジェクトをターゲット /ディレクトリにコピーして / optディレクトリにコピーし、後で使用されます
$ cpターゲット/docker-spring-boot-demo-0.0.1-snapshot.jar/opt/
2。プロジェクトをローカルメイベンにコンパイルし、 /octディレクトリにアップロードすると、後で使用されます
Application.PropertiesのRedisサーバーアドレスを変更します
他のプロジェクト/Docker-spring-boot-demo/src/main/resources/application.properties#redisサーバーアドレスspring.redis.host = 45.32.44.217
5。DockerFileを書きます
Javaに基づいてDockerfileを書き込む:8画像
$ cd /opt /$ touch dockerfile $ vi dockerfile
編集されたコンテンツは次のとおりです
#javaの画像に基づいて:8#ローカルフォルダーを現在のコンテナボリュームにマウントする#ファイルをコンテナにコピーするか、docker-spring-boot-boot-demo-0.0.1-snapshot.jar /souyunku-app.jaradd docker-spring-boot-demo-0.1-snapsunk.darpsunk.jar -c 'touch/souyunku-app.jar'# Open 80ポートExpose 80#コンテナの開始後にコマンドエントリポイントを構成["java"、 "-djava.security.egd = file:/dev/./ urandom"、 "-jar"、 "/souyunku-app.jar"]]
vi。プロジェクトを公開します
1.画像をコンパイルします
$ cd /opt /$ docker build -t souyunku -app:v1。
次の情報を見ると、dockerfileが悪くなく、画像が正常にコンパイルされていることがわかります
Dockerデーモモンにビルドの送信コンテキストを送信18.72MBSTEP 1/6:Javaから:88から:88:88:88:Library/Java5040BD298390から引っ張る:完全にFCE5728AAD85を完全にプルします76610EEC20BF5を完全にプルします。 49E2D6393F32:完全なBB9CDEC9C7F3を引いてください:完全な消化物を引いてください:SHA256:C1FF613E8BA25833D2E1940DA0940C3824F03F802C449F3D1815A D23BDF5B1B1BSTEP 2/6:ボリューム/TMP ---> 0559A62B0CD5で実行されています---> 9F60DAD5D2ACSTEP 4/6:bash -c 'touch/souyunku-app.jar' ---> 39D5C09AB614で実行されているランニング39D5C09AB614 ---> 2B691ADF7922STEP 5/6:Expose 80-> end in 11a57a中間容器11A577437A23 ---> 78815D6FE6B2STEP 6/6:entryPoint ["java"、 "-djava.security.egd = file:/dev/./ urandom"、 " - jar"、 "/souyunku-app.jar"] ECA10FED3D02 ---> 8EC4E85A0F05SUCCESSELY BURITIONS FURMUNTINTING 8EC4E85A0F05SUYUNKU-APP:V1
2。鏡を表示します
root@souyunku:/opt#docker画像souyunku-apprepositoryタグ画像ID作成sizesouyunku-app v1 8ec4e85a0f05 2分前681mb
3。ミラーを実行します
背景デーモンが実行され、コンテナポートを外部ネットワークポート80にマッピングします
root@souyunku:/opt#docker run -name myspringboot -d -80 80:80 souyunku -app:v1e68d4388603619e363883d4ee65d3918e1c3e00f867731207bccf0690dc64
4。プロセスを表示します
コンテナプロセスを確認すると、Redisがポート6379にあり、MySpringBootプロジェクトがポート80にあることがわかります。
root@souyunku:/opt#docker container pscontainer id imageコマンドはステータスポートを作成しました。 「docker-entrypoint.s ...」39分前39分0.0.0.0:6379->6379/TCP Redis-6379
7。テストサービス
ブラウザアクセス:http://127.0.0.1/、もちろん127.0.0.1を入力しません
Dockerは作曲します
Docker Composeは公式のDockerオーケストレーションプロジェクトの1つであり、クラスターに分散アプリケーションを迅速に展開する責任があります。
Dockerコンテナを使用するアプリケーションは、通常、複数のコンテナで構成されます。 Docker Composeを使用すると、シェルスクリプトを使用してコンテナを起動する必要がなくなりました。構成ファイルでは、すべてのコンテナがサービスによって定義され、 Docker-Composeスクリプトを使用してアプリケーションを起動、停止、再起動し、アプリケーションとサービスに依存するすべてのコンテナのサービスを開始、停止、再起動します。
要約します
上記は、編集者が紹介したDocker Deployment Springbootプロジェクトの例です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!