ドッカーコミット
Mavenのパッケージ、ローカルbaisheng1にSCPによってIDEA見張り-1.5.0-SNAPSHOT.jarにで得られた1、。
図2に示すように、ポッドビューdbaservice2
kubectl GET経口-owide | grepのdbaservice2
结果:0 23メートル172.26.0.73 baisheng1を実行dbaservice-サーバdbaservice2-6f4bb88df7-9p5zr 1/1
3、ポッドの次のコマンドを実行コンフィギュレーション情報は、コンテナのID(コンテナID)を見つけるために:結果は、「//」長い文字列の後ろにあります
ポッドdbaservice-サーバdbaservice2-6f4bb88df7-9p5zrを記述kubectl
4、(容器内の長い文字列IDポッド以下:コンテナID)容器にルートジャーパッケージをインポートするドッカーコマンドの使用
ドッキングウィンドウのcp夜警-1.5.0-SNAPSHOT.jarにda2c9b6af26e0f25300d245261569ae64603573b0fdbcfd1cc17d14be0197615:/
定義されたコマンドjava -jarスタートwatchman.jarを開始すると5、単にコピーを変更、初のオリジナルwatchman.jarを削除し、ポッドを入力するには、(watchman.jarという名前の夜警-1.5.0-SNAPSHOT.jarにファイルを来ましたそれは)名前を変更します
(1)ポッドに入る:kubectl EXEC -ti dbaservice-サーバdbaservice2-6f4bb88df7-9p5zr - ビン/ SH
(2)元のjarパッケージを削除します。rm -r watchman.jar
(3)更名:MV見張り-1.5.0-SNAPSHOT.jarにwatchman.jar
図6に示すように、ポッドを終了するために、終了の実装
[container_id]をコミットドッカー7、行う[image_repo]:[IMAGE_TAG]は、容器は、対応する画像を更新するために修正されます
ここcontainer_idは「image_repoがローカルで、コンテナIDを上回っていますtranswarp/dbaservice“,image_tag是自定义的”i18n“
8、执行docker tag transwarp/dbaservice:i18n baisheng3:5000/transwarp/dbaservice:i18n (用来在远程仓库创建TAG)
5000 /トランスワープ/ dbaservice:I18N(リモートリポジトリにプッシュ)9は、ドッカープッシュbaisheng3を行います
10、执行kubectlセットの画像展開/ dbaservice-サーバdbaservice2 dbaserviceサーバ-dbaservice2 = baisheng3:5000 /トランスワープ/ dbaservice:I18N
新しいイメージはポッドで得点し、その後、ポッドをすることができ、再起動することができます。
Dockerfile
-
新しいフォルダを作成し、そのファイルに配置されたJARパッケージを、交換する必要があります。
-
Dockerfileに新しいファイルを作成します。
vi Dockerfile
-
画像の位置に置換されるJARパッケージ、書き込みDockerfile
FROM
172.16
.
1.99
/postcommit/inceptor:master-
2019
-
11
-
19
-
02
-
19
-
35
-966260e9ad266e36df2cf968e0512f8594615072
// 1. 指定从哪个镜像开始改动,这里是inceptor master的某一个postcommit build
RUN rm -f /usr/lib/inceptor/inceptor-engine*.jar /usr/lib/inceptor/lib/inceptor-core*.jar /usr/lib/inceptor/lib/inceptor-base*.jar
// 2. 删除镜像内的JAR包,这一步不是必须的
COPY inceptor-engine-master-SNAPSHOT.jar /usr/lib/inceptor/
COPY inceptor-core-master-SNAPSHOT.jar inceptor-base-master-SNAPSHOT.jar /usr/lib/inceptor/lib/
// 3. 将新JAR包(一定要在同文件夹下)复制到镜像内相应位置
-
このような場所にあるすべてのファイルを、後
[root@baisheng3 nucleon]
# pwd
/home/yewu/docker/nucleon
[root@baisheng3 nucleon]
# ll
总用量 26920
-rw-r--r-- 1 root root 426 11月 19 15:13 Dockerfile
-rw-r--r-- 1 root root 371264 11月 20 20:57 inceptor-base-master-SNAPSHOT.jar
-rw-r--r-- 1 root root 14857951 11月 20 20:57 inceptor-core-master-SNAPSHOT.jar
-rw-r--r-- 1 root root 11572363 11月 20 20:57 inceptor-engine-master-SNAPSHOT.jar
-
このファイル内でドッキングウィンドウのビルドを実行するには、タグのみ操作画像ID(ハッシュ)を行うの背後にある、それを書いていない、そのイメージ名を指定-t
docker build -t <image_name_and_tag> ./
-
ドッキングウィンドウのプッシュ至リポジトリ
docker push <image_name_and_tag>
-
ポッドを更新する必要、それを削除します。自動再起動は、ローカルの表紙画像イメージと同じ名前に引っ張ってくる後
kubectl delete po $(kubectl get po | grep inceptor12 | awk
'{print $1}'
)
この文の意味は、すべての名前を検索し、ポッドinceptor12を削除することです
-
TL; DR
Dockerfile準備ができて、すべて:(例完了直接一度実装されたファイルを、片付け)
docker build -t baisheng3:
5000
/transwarp/inceptor:nucleon ./;docker push baisheng3:
5000
/transwarp/inceptor:nucleon;kubectl delete po $(kubectl get po | grep inceptor12 | awk
'{print $1}'
)
- 注:イメージ名出て、ビルド、およびdockerfile内で使用される(xxxはFROM)ベースイメージの名前ではない同じ、それ以外の場合はエラー(ドッカすぎ層)の上にその実行を何回かあります
参考リンク:TDH 5.0ルービック変更パッケージ