Docker 3/3---バックアップ移行と倉庫

5543 ワード

目次

  • 移行とバックアップ
  • 1. コンテナはミラーとして保存する
  • 2. ミラー・バックアップ
  • 3. ミラー・リカバリと移行
  • Dockerfile
  • 1. Dockerfile
  • とは
  • 2. 共通コマンド
  • 3. スクリプトを使用したミラーの作成手順
  • Dockerプライベートウェアハウス
  • 1. 私有倉庫の構築と配置
  • 2. ミラーはプライベートウェアハウス
  • にアップロードされる
  • まとめ
  • 関連記事Dockerまとめ1/3-理論編Dockerまとめ2/3-常用コマンドと応用配置

    移行とバックアップ


    1.コンテナをミラーとして保存


    コンテナをミラーとして保存するには、次のコマンドを使用します.
  • このミラーに基づいて作成するコンテナは、ミラーに配置された静的ページなどのコンテンツ
  • を含む.
    docker commit mynginx mynginx_i
    

    2.ミラーバックアップ


    ミラーをtarファイルとして保存するには、次のコマンドを使用します.
    docker  save -o mynginx.tar mynginx_i
    

    3.ミラーのリカバリと移行


    まずmynginxを削除しますimgミラーリング後、このコマンドを実行してリカバリします.
  • サーバでテストを行い、前のmynginx_を削除できます.iミラー(このミラーで作成するコンテナを削除してからmynginxをインポートする.tarはmynginx_に復元されましたiミラー
  • docker load -i mynginx.tar
    

    -i入力ファイル
    実行後にミラーを再度表示すると、ミラーが復元されていることがわかります.

    Dockerfile


    1.Dockerfileとは


    Dockerfileは、ベースミラー(オペレーティングシステムレベルのミラー)に適用され、最終的に新しいミラーが作成される一連のコマンドとパラメータからなるスクリプトです.
  • ベースミラー:たとえばCentosにJKDが作成され、CentosはJDKのベースミラーである.JKDに基づいてマイクロサービスが作成され、JKDはマイクロサービスのベースミラーである.

  • Dockerfileのメリット
    人員
    意味
    開発者
    開発チームに完全に一貫した開発環境を提供することができます.
    テスト担当者
    開発時に構築したミラーを直接持つか、Dockerfileファイルで新しいミラーを構築して作業を開始できます.
    メンテナンス担当者
    導入時に、アプリケーションのシームレスな移植を実現できます.

    2.共通コマンド


    コマンド#コマンド#
    さぎょう
    FROM image_name:tag
    どのベースミラーを使用して構築プロセスを開始するかを定義します.
    MAINTAINER user_name
    ミラー作成者の宣言
    ENV key value
    環境変数の設定(複数書き込み可能)
    RUN command
    Dockerfileのコア部分です(複数書き込み可能)
    ADD source_dir/file dest_dir/file
    ホストホストのファイルをコンテナにコピーします.圧縮ファイルの場合、コピー後に自動的に解凍されます.
    COPY source_dir/file dest_dir/file
    ADDと似ていますが、圧縮ファイルがある場合は解凍できません
    WORKDIR path_dir
    作業ディレクトリの設定

    3.スクリプトを使用してミラーを作成するには


    (1)ディレクトリの作成
    mkdir –p /usr/local/dockerjdk8
    

    (2)圧縮パッケージのダウンロード
    jdk-8 u 171-linux-x 64をダウンロードします.tar.gzは、サーバ(仮想マシン)の/usr/local/dockerjdk 8(最初に作成した)ディレクトリにアップロードします.
    mv jdk-8u171-linux-x64.tar.gz /usr/local/dockerjdk8
    

    (3)ファイルDockerfile vi Dockerfileの作成
    作成したディレクトリに入ります.
    cd /usr/local/dockerjdk8
    vi Dockerfile
    

    編集ページに入り、コマンドを入力します.
    # ID( )
    FROM centos:7
    # 
    MAINTAINER Stephanie
    # 
    WORKDIR /usr
    RUN mkdir  /usr/local/java
    #ADD  jar, java ( )
    ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/
    

    Java環境変数の構成
    #jdk1.8.0_171 , , , 
    ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
    ENV JRE_HOME $JAVA_HOME/jre
    ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
    ENV PATH $JAVA_HOME/bin:$PATH
    

    wq保存後、dirを入力してディレクトリの内容を表示できます
    (4)コマンドを実行してミラーを構築する
    #-t: ; .  
    docker build -t='jdk1.8' .
    

    後ろのスペースと点に注意し、省略しないでください
    (5)ミラーが完成したかどうかを確認する
    docker images
    

    Dockerプライベートウェアハウス


    1.私有倉庫の構築と配置

  • Dockerプライベートウェアハウスも実は1つのミラー(1)プライベートウェアハウスミラー
  • を引き出す
    docker pull registry
    

    (2)私有倉庫コンテナの起動
    docker run -di --name=registry -p 5000:5000 registry
    

    (3)ブラウザテストを開く
    アドレスポート番号を入力:5000/v 2/catalogで見た
    {"repositories":[]} 
    

    プライベートウェアハウスの構築に成功し、コンテンツが空であることを示します.
    (4)daemonを修正する.json
    vi /etc/docker/daemon.json
    

    次の内容を追加し、終了を保存します.
    {"insecure-registries":["192.168.11.129:5000"]} 
    

    このステップはdockerにプライベートウェアハウスアドレスを信頼させるために使用します.
    (5)dockerサービスの再起動
    systemctl restart docker
    

    2.ミラーをプライベートウェアハウスにアップロード


    (1)このミラーをプライベートウェアハウスとしてマークするミラー
    docker tag jdk1.8 192.168.11.129:5000/jdk1.8
    

    (2)私服容器の再起動
    docker start registry
    

    (3)タグをアップロードしたミラー
    docker push 192.168.11.129:5000/jdk1.8
    
  • 他のサーバでミラーをダウンロードするには:I DockerIIをインストールする操作:(4)daemonを変更する.jsonIII Dockerサービスを再起動し、docker pullにミラーをダウンロードするように命令する私服アドレスを入力します:ポート番号/ダウンロードミラー名
  • まとめ


    ここでDockerはミラーのバックアップと移行を実現し、プライベートウェアハウスの構築、アップロード、ダウンロードミラーのダウンロードが完了します.より多くの内容はDockerシリーズのブログに注目することができます.