[Docker] docker volume+jenkins
ドッキングステーションコンテナにデータを格納すると、コンテナが消えるにつれてデータも消滅します.したがって、データを格納し、コンテナ間でデータを共有する方法があります. Docker volume bind amount tmpfs ランプはそれです.今日はこの3つの特徴を見て、Docker volumeを使います.
DockerボリュームはホストのディスクにDockerの一部を割り当て、ontainerによってストレージを管理します.割り当てられたディスクを使用するため、コンテナが死んでもデータは生きています.
ここではDockerプロセッサ以外のhostによる変更は禁止されています.そのため安全性が高い.他のコンテナでもボリュームにアクセスできます!
bind amount方式は、コンテナがホスト上のファイルまたはフォルダに直接アクセスする方法です.したがって、hostはもちろんその内容を変更、修正することができます.Bind amountは単独のコマンドではなくDockerfileまたは.ymlファイルに明記する必要があります.
Linux環境でのみ実行されます.RAMはfilesystemのように使用され、揮発性が高いため、一時的に迅速に使用する場合にのみ使用できます.
次に、サンプルを使用してvolumeを作成し、jenkinsをバインドして検証します.
n/a.環境 OS : window ドックのインストールを想定
よくできましたね.
詳細はinsepctコマンドで表示することもできます.
今JenkinsのイメージをDocker Hubから引き寄せましょう
頑張って持ってきています!
画像がよく受信されていることが確認できます.
コンテナを実行しましょう.
-v myvol:/var/jenkins home:myvolボリュームは/var/jenkins homeに接続されています.
では、今までずっと実行しています.
このようなテキストが表示されます.後でadmin passwordが必要です.コピーしてください.
時間がかかります...
8080ポートで上のウィンドウに接続できるようになりました.
さっきコピーしたパスワードを入力しましょう
左を選択
より長い
入力して
行きましょう.
連動に成功した.
新しいitemをクリックしてtestの名義でfreestyleプロジェクトを作成しました.
今日はvolumeの位置決めについてなのでshellにls-alのみ入力します.
[適用後に保存](Save After Apply)をクリックして、プロジェクトを実行します.
よく撮れました.
コンテナ間のボリュームを共有しましょう.
jenkins 2の名前が設定されており、ポートマッピングが少し異なるだけです.
そして同じボリューム(myvol)を設定しました.
8081ポートに接続し、
2つのコンテナが1つのボリュームを共有していることがわかります.
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.環境
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つのボリュームを共有していることがわかります.
Reference
この問題について([Docker] docker volume+jenkins), 我々は、より多くの情報をここで見つけました https://velog.io/@leejaehyuck9/Docker-volumewith-jenkinsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol