[Docker] docker volume+jenkins


ドッキングステーションコンテナにデータを格納すると、コンテナが消えるにつれてデータも消滅します.したがって、データを格納し、コンテナ間でデータを共有する方法があります.
  • Docker volume
  • bind amount
  • tmpfs
  • ランプはそれです.今日はこの3つの特徴を見て、Docker volumeを使います.

    1. docker volume


    DockerボリュームはホストのディスクにDockerの一部を割り当て、ontainerによってストレージを管理します.割り当てられたディスクを使用するため、コンテナが死んでもデータは生きています.
    ここではDockerプロセッサ以外のhostによる変更は禁止されています.そのため安全性が高い.他のコンテナでもボリュームにアクセスできます!

    2. bind amount


    bind amount方式は、コンテナがホスト上のファイルまたはフォルダに直接アクセスする方法です.したがって、hostはもちろんその内容を変更、修正することができます.Bind amountは単独のコマンドではなくDockerfileまたは.ymlファイルに明記する必要があります.

    3. tmpfs


    Linux環境でのみ実行されます.RAMはfilesystemのように使用され、揮発性が高いため、一時的に迅速に使用する場合にのみ使用できます.
    次に、サンプルを使用してvolumeを作成し、jenkinsをバインドして検証します.
    n/a.環境
  • OS : window
  • ドックのインストールを想定

    1.ボリュームの作成

    $ docker create volume myvol	//myvol이란 이름의 volume 생성
    docker volumesでやったかどうか見てみましょう.

    よくできましたね.
    詳細はinsepctコマンドで表示することもできます.
    $ docker volume inspect myvol

    2. Jenkins imgae Pull


    今JenkinsのイメージをDocker Hubから引き寄せましょう
    $ docker image pull jenkins/jenkins:lts		//lts버전으로 pull

    頑張って持ってきています!

    画像がよく受信されていることが確認できます.

    3.運転容器


    コンテナを実行しましょう.
    $ docker run -p 8080:8080 -p 50000:50000 -v myvol:/var/jenkins_home jenkins/jenkins:lts
    -p:8080および808050000および50000は、外部/内部ポートをマッピングします.
    -v myvol:/var/jenkins home:myvolボリュームは/var/jenkins homeに接続されています.

    では、今までずっと実行しています.

    このようなテキストが表示されます.後でadmin passwordが必要です.コピーしてください.
    時間がかかります...

    8080ポートで上のウィンドウに接続できるようになりました.
    さっきコピーしたパスワードを入力しましょう

    左を選択

    より長い

    入力して

    行きましょう.

    連動に成功した.

    新しいitemをクリックしてtestの名義でfreestyleプロジェクトを作成しました.

    今日はvolumeの位置決めについてなのでshellにls-alのみ入力します.
    [適用後に保存](Save After Apply)をクリックして、プロジェクトを実行します.

    よく撮れました.
    コンテナ間のボリュームを共有しましょう.
    $ docker run --name jenkins2 --detach -p 8081:8080 -p 50001:50000 -v myvol:/var/jenkins_home jenkins/jenkins:lts
    上と同じように、
    jenkins 2の名前が設定されており、ポートマッピングが少し異なるだけです.
    そして同じボリューム(myvol)を設定しました.

    8081ポートに接続し、
    2つのコンテナが1つのボリュームを共有していることがわかります.