RHEL8からdockerコマンドの代わりにpodmanコマンドの利用が推奨されるようになったので、podmanコマンドの使い方を以下のページに作成しました。 コンテナ起動時、コンテナ間通信の処理概要(Podman編) コンテナイメージのレジストリ検索方法(Podman編) podmanコマンドの使い方(Almalinux9) podmanコマンドの使い方 コンテナーのネットワークについて コンテナイメージのレジストリ検索方法(Podman編) Podmanでコンテナ/ホスト間でファイルをコピーする方法 コンテナイメージの作り方(Containerfile 編) Podman secretコマンドの使い方 仮想ファイルシステムのマスク/アンマスク方法 httpdコンテナの起動方法 コンテナを自動更新する方法 #1. ホスト版数、Docker版数 [root@master1 ~]# cat
ユニオンファイルシステムとコピーオンライト Docker コンテナが軽量だと言われる理由のひとつが、ユニオンファイルシステムにあります。ユニオンファイルシステムは、複数のファイルシステム上のディレクトリやファイルをレイヤとして重ね合わせ、それらを仮想的に一つのファイルシステムとして扱う技術です。 Docker は、このユニオンファイルシステムを使い、イメージを複数の読み取り専用レイヤのスタックとして扱います。コンテナ内ではさらに、読み書き可能なレイヤを一枚重ねています。 コンテナ上の読み書き可能なレイヤをコンテナレイヤと呼び、イメージを構成する読み込み専用レイヤをイメージレイヤと呼びます。 この構成により、同一ノード上で動く複数のコンテナが、Docker イメージを構成するイメージレイヤを共有することを可能にし、トータルとしてのコンテナサイズを最小化しているのです。 共有しているイメージレ
今回は Docker コンテナを起動するタイミングで、コンテナの動作に必要な設定を受け渡す方法について書く。 やり方としては、大まかに分けて「環境変数を通して渡す」と「コマンドライン引数を通して渡す」という二つがある。 どちらの場合も docker run で実行するコマンドの中に設定を含めることになる。 使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.12.6 BuildVersion: 16G1212 $ docker version Client: Version: 18.01.0-ce API version: 1.35 Go version: go1.9.2 Git commit: 03596f5 Built: unknown-buildtime OS/Arch: darwin/amd64 Experi
dockerは多彩な開発環境がそれぞれパッケージ化されていて便利なのですが、継続的に使っていくうちに過去のコンテナ関連ファイルがあふれてディスク容量を圧迫していきます。 とくに、MacOSなどの環境では、Macの中にLinuxの環境が作られる構成となり、Linux用のファイルシステムを使い切るとコンテナが起動しなくなります。 “No space left on device”のバリエーション コンテナが起動しないケースで、docker logs _some_container_name_を実行して、”No space left on device”のようなエラーが出力されている場合は、ディスク領域が枯渇しています。また、docker-composeでまとめて起動した際に同時多発で異常終了する症状も特徴的です。 そのほか、イメージビルド中に”No space left on device”エ
docker-composeを使うと、複数のコンテナから構成されるサービスを従来よりも簡単に管理できるようになる。 dockerだけで管理する場合の不便さ たとえば dockerだけでmysqlとgitbucket・redmine・リバースプロキシ(nginx)を立ち上げる場合には、次のようなコマンドをシェルスクリプト化しておく必要があった。linkオプションがあるので、コンテナの立ち上げ順序も気にしなればいけない。 # mysql docker run --name mysql \ -d \ -p 3306:3306 \ --volumes-from data-mysql \ -e 'MYSQL_ROOT_PASSWORD=password' \ mysql # redmine docker run --name redmine \ -d \ --link mysql:mysql \ -
イメージから作成するコンテナのデプロイ先と同じシステムにDockerfileを作成する必要はありません。唯一の要件は、Docker EngineがDockerfileファイルにアクセスできることです。 新しいディレクトリに、通常は Dockerfile という名前が付けられるDockerfileを作成します。次のDockerfileのコンテンツは、この例専用です。 # Dockerfile that modifies oraclelinux:6.6 to include an Apache HTTP server FROM oraclelinux:6.6 MAINTAINER A N Other <another@mydom.com> RUN sed -i -e '/^\[main\]/aproxy=http://proxy.mydom.com:80' /etc/yum.conf RUN
※こちらは旧サイトです(新サイトはこちら) Dockerコンテナを作成したものの、Dockerホストが何らかの理由でダウンしたり、リブートがかかったりした場合、Dockerホスト上で稼働していたコンテナも同時にダウンしてしまいます。 これらをsystemd経由で操作し、Dockerホスト起動時(今回はCentOSを例に記述します)に自動でコンテナもstartするようにする例を記載します。 公式 DockerコンテナのUnit設定ファイルを作成 CentOSの場合、既存の起動スクリプトは、/usr/lib/systemd/system/に配置されています。 $ ll /usr/lib/systemd/system | head 合計 772 -rw-r--r--. 1 root root 403 1月 14 2015 -.slice -rw-r--r--. 1 root root 225 1
この記事は RECRUIT MARKETING PARTNERS Advent Calendar 2015 の投稿記事です。 こんにちは、2015年新卒インフラエンジニアの河合です。アドベントカレンダー2015の3日目を担当します。現在の担当プロダクトは英語/英単語サプリです。そういえば10月末に英語サプリのiOS版がリリースされました。 英語サプリ 英語サプリリリースに伴い、インフラ業務としては Terraformの運用の話 Amazon EC2 Container Serviceで構築した話 などと色々なネタがあるのですが、本日はDockerを用いたJenkinsの運用をしてみた話をします。 Jenkinsと数ヶ月ほど戯れてみて… Jenkinsと戯れてみて思ったのは以下のとおりです。 拡張性の代償として保守運用コストを要求する プラグインが豊富なので、設定が容易に済むことがある 各ジ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く