Dockerイメージのインポートとエクスポートの実装

Dockerイメージのインポートとエクスポートの実装

GitLabのDocker使用法

gitlab ドッカー

起動コマンド

docker run -d -p 3000:80 twang2218/gitlab-ce-zh:9.0.3

docker run -d -p 8080:80 gitlab/gitlab-ce:latest

コンテナの変更をイメージにコミットする

# コンテナに入る [root@#localhost docker]# docker run -ti ubuntu:14.04 /bin/bash
ルート@812a997f614a:/#id 
uid=0(ルート) gid=0(ルート) グループ=0(ルート)

# いくつか変更しました root@812a997f614a:/# echo update>update.txt
root@812a997f614a:/# 終了
出口

[root@#localhost docker]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
812a997f614a ubuntu:14.04 "/bin/bash" 7 分前 終了 (0) 22 秒前 zealous_euler
69304dea46c7 gitlab/gitlab-ce:latest "/assets/wrapper" 約1時間前 終了 (127) 44分前 competent_minsky
67ba866e21b0 gitlab/gitlab-ce:latest "/assets/wrapper" 2 時間前 終了しました (137) 約 1 時間前 hungry_hoover
2a3d08a0a2ff twang2218/gitlab-ce-zh:9.0.3 "/assets/wrapper" 2 時間前 終了 (137) 約 1 時間前 nerve_wozniak
6db49540be99 twang2218/gitlab-ce-zh:9.0.3 "/assets/wrapper" 2 時間前 終了しました (255) 2 時間前 22/tcp、443/tcp、0.0.0.0:3000->80/tcp romantic_elion
b08a6d6ed716 gitlab/gitlab-ce:latest "/assets/wrapper" 2 時間前 終了しました (255) 2 時間前 22/tcp、443/tcp、0.0.0.0:8080->80/tcp competent_brahmagupta
33fd0b1ebd27 gitlab/gitlab-ce:latest "/assets/wrapper" 2 時間前 終了しました (127) 2 時間前 loved_brattain
6f53620a930c twang2218/gitlab-ce-zh:9.0.3 "/assets/wrapper" 3 時間前 終了 (127) 2 時間前 brave_galileo
88df78f77c4e ubuntu:14.04 "sleep 360" 4日前 終了 (137) 4日前 testcopy
81a879a36bd3 wordpress "docker-entrypoint..." 4日前 終了 (0) 4日前 wordpress
a57a3cc492b7 mysql "docker-entrypoint..." 4日前 終了 (0) 4日前 mysqlwp

# 変更したイメージを新しい [root@#localhost docker]# docker commit 812a997f614a ubuntu:update として保存します
sha256:317f102584605694da424bc96764559a1ccfda13943353f4cbdfd89c96515e6b

[root@#localhost docker]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
ubuntu アップデート 317f10258460 5 秒前 188 MB
twang2218/gitlab-ce-zh 9.0.3 36172b5fefab 44 時間前 1.19 GB
gitlab/gitlab-ce 最新 5eff2e44957c 2日前 1.11 GB
mysql 最新 9546ca122d3a 8日前 407 MB
wordpress 最新 4ad41adc2794 2週間前 401 MB
ubuntu 14.04 7c09e61e9035 5週間前 188 MB
daocloud.io/library/nginx 1.7.1 e3e043d3ed2f 2年前 499 MB

# 変更されたイメージと元のイメージの差異を表示します [root@#localhost docker]# docker diff 812a997f614a
C /var
C /var/キャッシュ
C /var/cache/apt
D /var/cache/apt/srcpkgcache.bin
D /var/cache/apt/pkgcache.bin
C /var/lib
C /var/lib/apt
C /var/lib/apt/リスト
/var/lib/apt/lists/lock です
/var/lib/apt/lists/partial の場合
/var/lib/apt/lists/partial/archive.ubuntu.com_ubuntu_dists_trusty-updates_InRelease です。
/update.txt へ
C /ルート
/root/.bash_history です
[root@#localhost docker]#

画像のインポートとエクスポート

輸出入

[root@#localhost docker]# docker run -ti ubuntu:update /bin/bash
ルート@cbe3cb7799ed:/# ls
bin boot dev etc home lib lib64 media mnt opt ​​proc root run sbin srv sys tmp update.txt usr var

[root@#localhost docker]# 
[root@#localhost docker]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
cbe3cb7799ed ubuntu:update "/bin/bash" 47秒前 終了 (1) 6秒前 adoring_kare
812a997f614a ubuntu:14.04 "/bin/bash" 16 分前 終了 (0) 8 分前 zealous_euler
69304dea46c7 gitlab/gitlab-ce:latest "/assets/wrapper" 2 時間前 終了 (127) 53 分前 competent_minsky
67ba866e21b0 gitlab/gitlab-ce:latest "/assets/wrapper" 2 時間前 終了しました (137) 2 時間前 hungry_hoover
2a3d08a0a2ff twang2218/gitlab-ce-zh:9.0.3 "/assets/wrapper" 2 時間前 終了 (137) 2 時間前 nerve_wozniak
6db49540be99 twang2218/gitlab-ce-zh:9.0.3 "/assets/wrapper" 2 時間前 終了しました (255) 2 時間前 22/tcp、443/tcp、0.0.0.0:3000->80/tcp romantic_elion
b08a6d6ed716 gitlab/gitlab-ce:latest "/assets/wrapper" 2 時間前 終了しました (255) 2 時間前 22/tcp、443/tcp、0.0.0.0:8080->80/tcp competent_brahmagupta
33fd0b1ebd27 gitlab/gitlab-ce:latest "/assets/wrapper" 3 時間前 終了 (127) 2 時間前 loved_brattain
6f53620a930c twang2218/gitlab-ce-zh:9.0.3 "/assets/wrapper" 3 時間前 終了 (127) 2 時間前 brave_galileo
88df78f77c4e ubuntu:14.04 "sleep 360" 4日前 終了 (137) 4日前 testcopy
81a879a36bd3 wordpress "docker-entrypoint..." 4日前 終了 (0) 4日前 wordpress
a57a3cc492b7 mysql "docker-entrypoint..." 4日前 終了 (0) 4日前 mysqlwp

# イメージをファイルにエクスポートします [root@#localhost docker]# docker export cbe3cb7799ed > update.tar


# エクスポートされたファイル [root@#localhost /] に基づいて新しい静的イメージを作成します。# docker import - update < update.tar 
sha256:fd00d520a43eb5dc6cca8717fe0ca04cfdc53b02cad2fb5b50d877b8e6d6c3bc
[root@#localhost /]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
最新の更新 fd00d520a43e 13 秒前 165 MB
ubuntu アップデート 317f10258460 11 分前 188 MB
twang2218/gitlab-ce-zh 9.0.3 36172b5fefab 44 時間前 1.19 GB
gitlab/gitlab-ce 最新 5eff2e44957c 2日前 1.11 GB
mysql 最新 9546ca122d3a 8日前 407 MB
wordpress 最新 4ad41adc2794 2週間前 401 MB
ubuntu 14.04 7c09e61e9035 5週間前 188 MB
daocloud.io/library/nginx 1.7.1 e3e043d3ed2f 2年前 499 MB
[ルート@#localhost /]#

保存して読み込む

(ミラーリングによるバックアップと復元の場合など)

# 更新は既存のイメージです [root@#localhost /]# docker save -o update1.tar update
[root@#localhost /]# ls
bin boot dev etc home lib lib64 media mnt opt ​​proc root run sbin srv sys tmp update1.tar update.tar usr var
[root@#localhost /]# du -sh update1.tar 
166M アップデート1.tar

# 更新イメージを削除します [root@#localhost /]# docker rmi update
タグなし: update:latest
削除済み: sha256:fd00d520a43eb5dc6cca8717fe0ca04cfdc53b02cad2fb5b50d877b8e6d6c3bc
削除済み: sha256:14cc8cd7b783152682835346e5fe90860a9feeb684866688692285319d4e97ad

[root@#localhost /]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
ubuntu アップデート 317f10258460 16 分前 188 MB
twang2218/gitlab-ce-zh 9.0.3 36172b5fefab 44 時間前 1.19 GB
gitlab/gitlab-ce 最新 5eff2e44957c 2日前 1.11 GB
mysql 最新 9546ca122d3a 8日前 407 MB
wordpress 最新 4ad41adc2794 2週間前 401 MB
ubuntu 14.04 7c09e61e9035 5週間前 188 MB
daocloud.io/library/nginx 1.7.1 e3e043d3ed2f 2年前 499 MB

#イメージをインポートします [root@#localhost /]# docker load < update1.tar 
14cc8cd7b783: レイヤーを読み込んでいます [============================================================>] 173.8 MB/173.8 MB
読み込まれた画像: update:latest
[root@#localhost /]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
最新更新 fd00d520a43e 6分前 165 MB
ubuntu アップデート 317f10258460 17 分前 188 MB
twang2218/gitlab-ce-zh 9.0.3 36172b5fefab 44 時間前 1.19 GB
gitlab/gitlab-ce 最新 5eff2e44957c 2日前 1.11 GB
mysql 最新 9546ca122d3a 8日前 407 MB
wordpress 最新 4ad41adc2794 2週間前 401 MB
ubuntu 14.04 7c09e61e9035 5週間前 188 MB
daocloud.io/library/nginx 1.7.1 e3e043d3ed2f 2年前 499 MB
[ルート@#localhost /]# 

Dockerファイル

[root@#localhost ~]# mkdir docker_file
[root@#localhost ~]# cd docker_file/

[root@#localhost docker_file]# vi Dockerfile 

[root@#localhost docker_file]# cat Dockerfile 
ubuntu:14.04から

エントリポイント ["/bin/echo"]

[root@#localhost docker_file]# docker ビルド .
ビルド コンテキストを Docker デーモンに送信しています 2.048 kB
ステップ 1/2: ubuntu:14.04 から
 ---> 7c09e61e9035
ステップ 2/2: ENTRYPOINT /bin/echo
 ---> d53f31b93355 で実行中
 ---> 26dd06d2e5a5
中間コンテナ d53f31b93355 を削除しています
26dd06d2e5a5 の構築に成功しました

#イメージを実行 [root@#localhost docker_file]# docker run 26dd06d2e5a5

#パラメータを追加 [root@#localhost docker_file]# docker run 26dd06d2e5a5 hello world
こんにちは世界
[root@#localhost docker_file]# vi Dockerfile 
[root@#localhost docker_file]# docker run 26dd06d2e5a5 hello world
こんにちは世界


#
[root@#localhost docker_file]# cat Dockerfile 
ubuntu:14.04から

#ENTRYPOINT ["/bin/echo","Hi world!"]
CMD ["/bin/echo","こんにちは!"]

[root@#localhost docker_file]# docker ビルド .
[root@#localhost docker_file]# docker run 12458a717ced
こんにちは世界!


[root@#localhost docker_file]# docker run 12458a717ced /bin/date 
2017年4月8日土曜日 12:08:14 UTC


ビルド時にタグを追加する

[root@#localhost docker_file]# docker build -t yang:01 .
ビルド コンテキストを Docker デーモンに送信しています 3.584 kB
ステップ 1/2: ubuntu:14.04 から
 ---> 7c09e61e9035
ステップ 2/2: CMD /bin/echo Hi world!
 ---> 94e510f085d7 で実行中
 ---> 6b33c8a6a32f
中間コンテナ 94e510f085d7 を削除しています
6b33c8a6a32f を正常に構築しました
[root@#localhost docker_file]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
ヤン 01 6b33c8a6a32f 5秒前 188 MB
最新更新 fd00d520a43e 29 分前 165 MB
ubuntu アップデート 317f10258460 41 分前 188 MB
twang2218/gitlab-ce-zh 9.0.3 36172b5fefab 44 時間前 1.19 GB
gitlab/gitlab-ce 最新 5eff2e44957c 2日前 1.11 GB
mysql 最新 9546ca122d3a 8日前 407 MB
wordpress 最新 4ad41adc2794 2週間前 401 MB
ubuntu 14.04 7c09e61e9035 5週間前 188 MB
daocloud.io/library/nginx 1.7.1 e3e043d3ed2f 2年前 499 MB
[root@#localhost docker_file]# 

例を構築する

Flaskアプリケーションをイメージにパッケージ化する

Pythonプログラムhellp.pyを書く

#!/usr/bin/env python

FlaskからFlaskをインポート
アプリ = Flask(__name__)

@app.route('/hi')
hello_world() を定義します:
  「Hello World!」を返します。

__name__ == '__main__' の場合:
  app.run(ホスト='0.0.0.0'、ポート=5000)

Dockerfileの作成

ubuntu:14.04から

apt-get updateを実行する
apt-get install -y pythonを実行します。
apt-get install -y python-pipを実行します。
apt-get clean allを実行する

pip install flaskを実行します。

hello.py を追加します /tmp/hello.py

エクスポーズ5000

コマンド ["python","/tmp/hello.py"]

これで、docker イメージのインポートとエクスポートの実装に関するこの記事は終了です。より関連性の高い docker イメージのインポートとエクスポートのコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Dockerイメージとコンテナのインポ​​ートとエクスポート操作の実践
  • Docker イメージのインポートとエクスポートのコード例
  • Dockerイメージのインポート、エクスポート、バックアップ、移行操作
  • Docker イメージのエクスポート、インポート、コピーの例の分析
  • Dockerイメージをインポートおよびエクスポートする方法
  • Docker間でイメージをエクスポートおよびインポートする方法
  • Docker イメージのインポートとエクスポートのプロセスの概要

<<:  HTML チュートリアル: よく使われる HTML タグのコレクション (5)

>>:  MySQLにおけるトランザクション分離レベルの実装原理の詳細な説明

推薦する

MySQLのFreeListメカニズムの詳細な説明

1. はじめにMySQL が起動すると、BufferPool が初期化されます。クエリ操作を実行する...

ウェブデザインにおける階層化インターフェースの設計経験

多くのネットユーザーは、なぜ自分のウェブサイトはいつも色の問題を抱えていて、いつも地味に見え、注目を...

JS オブジェクトのコピー (ディープ コピーとシャロー コピー)

目次1. 浅いコピー1. Object.assign(ターゲット、ソース、ソース...) 2. スプ...

入力選択スタイルを変更する CSS 疑似クラスのサンプルコード

注: この表はW3Schoolチュートリアルから引用したものです疑似要素の分類と機能: 入力選択スタ...

CSS エラスティック ボックス flex-grow、flex-shrink、flex-basis の詳細な説明

3 つの属性 flex-grow、flex-shrink、flex-basis の機能は次のとおりで...

Vue2.xは、ユーザーのログインと終了を実装するためにルーティングナビゲーションガードを設定します。

目次序文1. ルーティングナビゲーションガードを設定する1. グローバルナビゲーションガード2. ロ...

Vue Element UI カスタム説明リストコンポーネント

この記事の例では、Vue Element UIカスタム説明リストコンポーネントの具体的なコードを参考...

MySQL GRANT ユーザー認証の実装

承認とは、ユーザーに特定の権限を付与することです。たとえば、新しく作成したユーザーに、すべてのデータ...

WeChatアプレット開発の実践スキル:データの転送と保存

日々の開発で遭遇した様々な問題と、その解決策を閲覧しながら、日々の開発でよく使用するスキルや知識ポイ...

XHTML CSS ウェブサイトデザインの利点と問題点

XHTML は現在国際的に推奨されている標準的な Web サイト設計言語です。Webjx.com も...

nginx リクエスト ヘッダー データ読み取りプロセスの詳細な説明

前回の記事では、nginx がリクエスト ラインのデータを読み取って、リクエスト ラインを解析する方...

React Fiber構造の作成手順

目次リアクトファイバーの作成1. 始める前に2. React.renderから始める3. 終了リアク...

CSS3セレクターの新機能の実装

目次基本的なセレクタ拡張属性セレクタ疑似クラスと疑似要素セレクター基本的なセレクタ拡張1. 子要素セ...

MySQL 最適化のケーススタディ

1. 背景Youzan の各 OLTP データベース インスタンスには、実行時間が特定のしきい値を超...

MySQL 5.7.21 履歴データディレクトリからデータを復元するチュートリアルの解凍バージョン

状況の説明: データベースが異常に起動およびシャットダウンしたため、サービスを再度起動したときに「起...