DevOps-Docker
はじめに Red Hat Enterprise Linux ServerにてDockerデーモンを動かす際の手順とログを記載しました。 尚、yumを利用しますがオフラインの場合は以下のように別サーバを介して行う必要があります。 環境情報 NAME="Red Hat Enterprise Linux Server" VERSIO…
はじめに オンプレミス(非クラウド)のシステムをそのままクラウドに乗せる流れをリフト(Lift)、アーキテクチャの変更を加える流れをシフト(Shift)と言ったりしますが本記事ではその流れを参考程度に解説しました。尚、シフトとリフトの意味は以下。 コ…
はじめに Podmanではpodman generate systemdでsystemdユニットファイルを生成ができますが、同じようにdockerでも手動でファイルを作成すればsystemctlでコンテナを操作できます。本記事ではRHELにて特定コンテナを自動起動するための手順をメモしました。…
事象 コンテナに以下のようにファイルをマウントしようと起動するも # docker run -it -v test.txt:/tmp/test.txt ubuntu /bin/shコンテナ内ではディレクトリができている。 # ls -l /tmp total 4 drwxr-xr-x 18 root root xx test.txt 環境情報 Docker vers…
事象 DockerDesktopのアップデート時に以下メッセージが出る。 WSL 2 installation is incomplete The WSL 2 Linux kernel is now installed using a separate MSI update package. Please click the link and follow the instructions to install the kerne…
はじめに ローカル環境にコンテナ用のプライベートレジストリを立ててPush操作の検証を行った際の動作確認メモを記しておきます。 尚、環境としてはdockerインストール済のLinux仮想マシンの上でレジストリを起動しました。 環境情報 RedHat Enterprise Linu…
事象 DockerEngineの起動に失敗している。 # systemctl status docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: failed (Result: start-limit) …
はじめに 「CAP_NET_RAW」というケーパビリティがありますが、セキュリティを考慮してコンテナ起動時に削除することができます。 このケーパビリティは「RAWソケットとPACKETソケットの使用を許可」を司っていいて、任意のパケットの送受信を行うために必要…
はじめに コンテナ内のプロセス数の上限を制限するdocker runのオプション--pids-limitを利用するハンズオンです。 --pids-limit int Tune container pids limit (set -1 for unlimited)個人利用では指定することはないと思いますが、本番システムのコンテナ…
はじめに コンテナからホスト上のコンテナを操作する「Docker Outdide of Docker」という手法を実際に利用した結果をまとめました。 環境情報 Debian GNU/Linux 9 Docker Version:19.03.5 コンテナ内でDockerコマンドを利用する コンテナ内でDockerコマンド…
やりたいこと docker pull IMAGE_NAMEでlatestのタグが付いたイメージが入手できるが、最新のイメージではなく古いイメージを入手したい。 環境情報 Docker Version:19.03.5 やり方 --all-tags=trueを付与する。 $ docker pull --all-tags=true IMAGE_NAME以…
やりたいこと 例えば以下のようなnetstatコマンドが打てないコンテナにて > docker run -t -i ubuntu root@652f2bab700c:/# netstat bash: netstat: command not found同コマンドが打てるようにする。 環境情報 Docker Version:19.03.5 やり方 接続したいコ…
やりたいこと 例えば以下のようにdb2コンテナにログインするとrootコマンドとなるが > docker exec -it db2 /bin/bash [root@62959d1446c6 /]#db2inst1ユーザで接続したい。 環境情報 > docker --version Docker version 19.03.5, build 633a0ea やり方 --us…
はじめに インターネットに接続していない環境、いわゆるアイランド環境にてコンテナイメージを展開する方法を説明します。流れとしてはインターネットに接続している環境にてイメージをpullし、そのイメージをtarに固めて持ち込んで利用します。 環境情報 D…
はじめに dockerコマンドのハンズオンにてnginxはよく利用されますが、コンテナ起動時のオプションにてPオプションやpオプションの付与が求められることがあります。本記事では初学者の方に向けて簡単なハンズオンとp/Pオプションがないと何が困るのかについ…
やりたいこと 起動中コンテナをdocker stop→docker rmではなく一文で消したい。 やり方 rm -fにて削除する。 > docker rm -f d12efd253e60 d12efd253e60以下、補足です。 補足 停止済みのコンテナを一気に消す方法は以下記事で解説しましたが 今回は起動中の…
はじめに DockerToolboxの後継ツールである「DockerDesktop」をWindows端末にインストールしました。 Hyper-Vを有効化する必要がありますが、本記事ではそれらのインストールと簡単な動作検証を行いました。 環境情報 Windows 10 Enterprise Docker Desktop …
事象 GoogleCloudPlatformにて利用しているマシンにて容量が逼迫しつつある root@instance-1:~# df ... /dev/sda1 10253588 8052492 1660528 83% / ... 原因 du -h --max-depth=1 PATHにて調査する。rootディレクトリ直下 # du -h --max-depth=1 / ... 2.6G …
はじめに 以下の記事にてDockerで利用される基盤技術を簡単に紹介しましたが 今回はコンテナ技術で採用される「overlayfs」というファイルシステムについて実際にコマンド発行しながら解説します。 Overlayfsハンズオン 以下のように二つのディレクトリを作…
好きな技術? DevOps界隈で注目? 利用に敷居が高い? 起動速度が速い? 基幹システムでの利用? 憧れ? 勉強は不要? 画面いっぱいのコンテナ でも... 終わりに 好きな技術? ボケ「うちのオカンがね、好きな技術があるらしいんやけど、その名前をちょっと…
はじめに 以下の記事にてコンテナイメージを作成する手法の一つとしてDockerfileを利用する方法について説明しました。 今回は、従来のDockerfileを利用した手法からDockerイメージのサイズを削減する機能であるmulti-stage buildについて解説します。主にラ…
はじめに Dockerを語る上でセキュリティは気になるポイントですがCVE-2019-5736と呼ばれる脆弱性が報告されたことがありました。現在は既に修正版がリリースされていますが、昔話としてどのような話だったのかを簡単に解説します。 何が問題? この問題は「r…
はじめに Dockerを始めとしたコンテナ型仮想化を、技術として捉えた際に出てくる用語に「Namespace」と「CGROUP」があります。 Dockerとは? 本記事ではCGROUPとはなんぞや?といった層を対象に、分かりやすく説明してみました。 このあたりを抑えてなくても…
はじめに Dockerを始めとしたコンテナ型仮想化を技術として捉えた際に出てくる用語に「Namespace」と「CGROUP」があります。 Dockerとは? 本記事ではNamespaceとはなんぞや?といった層を対象に、分かりやすく説明してみました。 このあたりを抑えてなくて…
停止しているコンテナをまとめて削除するワンライナー docker rm -v $(docker ps -q -f status=exited) 以下、補足です。 補足 以下コマンドで停止済みのコンテナ含めて確認可能です。 # docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAME…
はじめに オプションを指定せずにコンテナを作成するとそのコンテナはbridgeに接続されます。 よって、特段手当をせずとも同一ホスト上ではコンテナ間で通信可能です。 参考記事 一方で、コンテナを作成する際に接続先のコンテナが判明している場合はdocker …
事象 コンテナイメージを利用してコンテナをrunした際に即時でコンテナ終了がする。 原因 docker run -tiでコンテナを作成していない以下、補足です。 補足 まずは基礎知識としてdocker startはコンテナの起動を意味し、docker runは新規コンテナの立ち上げ…
はじめに Dockerインストール時に自動的に作成されるbridgeですが、オプションを指定せずにコンテナを作成するとそのコンテナはbridgeに接続した構成となります。本記事ではDockerのネットワーク理解の第一歩として,同一ホストで作成した二つのコンテナ間で…
はじめに コンテナ上で作成したファイルは、コンテナを破棄すれば消えてしまいます。 ホスト上で管理しているファイルをコンテナ側で利用したいケースもあります。そのような場合はコンテナの外に置いたデータをコンテナにマウントして見せる必要があります…
はじめに Dockerの世界にて「イメージは読み取り専用のコンテナテンプレート」ですが、 例えば以下のように元のイメージをベースに修正を加えたものを新たなテンプレートとしたいケースがあります。 # docker images REPOSITORY TAG IMAGE ID CREATED SIZE d…