コンテナ内部からコンテナを作成する(DinD, DooD)

0.動作環境 AWS EC2 Ubuntu 18.04.6 Docker 20.10.12 1. 概要 Dockerコンテナ内部でコンテナを操作することは例えばGitLab Runnerなどでよく利用されるユースケースである。 コンテナからコンテナを操作する主要な方法である DinD (Docker in Docker): Dockerインストール済みのコンテナを利用し、コンテナ内でホストとは別のDockerデーモンを動かす方法。 DooD (Docker outside of Docker): Dockerインストール済みのコンテナを使用するのはDinDと同じだがdockerd、containerdは使用しない。代わりコンテナ側からホストのdocker.sock (/var/run/docker.sock)をマウントする。そのため、コンテナ上のDockerコマンドはホスト側のDocker環境で実行されることになる。 上記2種類の方法を今記事では扱う。 2. DinD Docker 公式のDinDに対応しているイメージであるdocker:stable-dindを利用する。 ubuntu@ip-172-31-17-145:~$ docker run --privileged --name dind -d docker:stable-dind デフォルトのままでは、Dockerコンテナはデバイスファイルにアクセスできないためコンテナ内でDockerデーモンを起動することはできない。 DinDコンテナの起動のためprivilegedフラグを付与し特権モードで動かす。 起動した確認する。 ubuntu@ip-172-31-17-145:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 21824f35109e docker:stable-dind "dockerd-entrypoint.…" 56 seconds ago Up 55 seconds 2375-2376/tcp dind DinDコンテナのシェルに入り、dockerコマンドを利用可能なことを確かめる。 ubuntu@ip-172-31-17-145:~$ docker exec -it dind ash / # docker -v Docker version 19....

February 22, 2022 · 2 min · Me

GitLab Runner(Docker)をAnsibleでインストールする

0. 前提 1. 動作環境 ansible実行側 Mac(M1) python 3.9.10 2.12.1 ansible実行される側 . 参考にしたサイト

February 10, 2022 · 1 min · Me

VSCode Remote Containerを使ってみる

0. 前提 1. 動作環境 . 最後に . 参考にしたサイト https://zenn.dev/hkdord/articles/remote-containers

February 7, 2022 · 1 min · Me

Codepen埋め込み

0. 前提 1. 動作環境 CodePen See the Pen VEYRqX by kurikube (@kurikube) on CodePen. Steam Gits . 最後に . 参考にしたサイト https://foresuke.com/post/hugo_embed/

February 2, 2022 · 1 min · Me

CentOSのCPU・Memory・Disk・GPU使用率を測定する

背景 業務でCentOSをインストールしたGPUサーバの CPU Memory Disk GPU の使用率を測定する必要があったので、その際に行った作業のメモを残します CPU・Memory sarコマンドのインストール sudo yum -y install sysstat CPU・Memoryの使用率取得 sar -P ALL 1 300 > cpu.out #1秒間隔で300回測定→5分測定 sar -r 1 300 > mem.out #1秒間隔で300回測定→5分測定 ディスク容量 ※調べたいパス毎 for i in {1..300} ; do du -sh <ファイルパス>; sleep 1 ; done > disk.out GPU使用率 以下をそれぞれ整形し、ファイルに出力するようにします プロセッサ・メモリ nvidia-smi -l 1 --query-gpu=timestamp,index,utilization.gpu,utilization.memory --format=csv,nounits エンコーダ・デコーダ nvidia-smi -q | grep -v Stats | grep -e Encoder -e Decoder | xargs -L 1 echo `date +'%Y/%m/%d %I:%M:%S',`

January 31, 2022 · 1 min · Me