2018-01-01から1年間の記事一覧
概要 DockerfileのVOLUME命令をつかって別のいろいろなコンテナが出力するログファイル的なものを集約してみたいと思います。 手順 手順はこんなかんじ。 ログ格納用コンテナとログを出力するコンテナを作成してみます。 ログ格納用コンテナの準備 ログ用の…
概要 複数のEC2インスタンスに一気にIAMロールを付ける必要があって、マネコンでポチポチするのめんどくさいなーと思ったのでつくった。 スクリプト つかいかた ./role_fukusuu.sh IAMロール名 インスタンスID インスタンスID... $ ./role_fukusuu.sh wawawa…
概要 DockerfileでつかえるADD命令をつかってローカルにあるtarファイルをコンテナ内に展開してみたいと思います。 事前準備 こんなかんじのDockerfileを用意する。 FROM centos ADD test_archive.tar /root/ 用意したアーカイブはこんなかんじ。 ADDで指定…
概要 DockerfileでCOPY命令をつかってローカルにおいてあるファイルをDockerイメージのファイルシステムのなかにコピーしてみたいと思います。 事前準備 今回はローカルにwawawa.txtというテキストファイルを作成しておいて、それをDockerイメージの/root/配…
概要 Dockerfileで記載できるONBUILD命令がいまいちよくわからなかったので実際に動かしてやってみようと思います。 そもそもONBUILDとは 以下Dockerの公式ドキュメントより(Google翻訳) このONBUILD命令は、イメージが別のビルドのベースとして使用されると…
概要 コンテナを実行したときにDockerfile内にかかれているコマンドの引数を指定して実行させて見たいと思います。 準備 ENTRYPOINTとCMDを利用します。 たとえば、以下のようなDockerfileがあったとします。 FROM centos ENTRYPOINT [ "echo" ] CMD [ "nani…
概要 Dockerfileを書いていて、CMDとENTRYPOINTという命令があって、どっちもコマンドを実行できて、これなんやねんと思ったので雑まとめ。 CMD 単純にコマンドを実行できる。 ただし、docker run時にコマンドを指定すると処理がうわがかれる。 たとえば以下…
概要 DockerfileでRUNとCMDという命令があって、どちらもコマンドを実行できるらしく、なんでこれふたつあるんだろうなーと思ったので雑まとめ。 RUN docker buildのときに実行される。 なのでyum installとかapt-getとかはこの処理で記載するとよい。 CMD d…
概要 Dockerfileを書いていて、あーここあとで変更入りそうだしかんたんに変えられるようにしたいなー何回も書くのめんどくさいなー変数つかいたいなーと思ったので調べてみた。 ARGをつかえばいい Dockerfile内でARGというところで変数を定義してあげるとい…
概要 docker buildするときに利用するDockerfileはそのままファイル名でDockerfileとなっていないと読み込まれませんが、これだとファイル名で管理ができません。 docker buildするときにオプションとして-fをわたしてあげると任意の名前のDockerfileを読み…
概要 docker buildコマンドを利用してDockerファイルからイメージを作成してみたいと思います。 今回はベースイメージを指定しただけの超シンプルなやつでやってみます。 Dockerファイル DockerファイルにはもととなるイメージをFROMで記載と、MAINTAINERで…
概要 Dockerコンテナがたまりにたまっていたのでそれらを一括停止してみる。 コマンド例 以下コマンドを実行することでコンテナをすべて停止することができます。 $ sudo docker stop $(sudo docker ps -aq) ちょっとした説明 docker ps -aqコマンドで停止し…
概要 シェルスクリプト上で大文字と小文字置換してみたいと思います。 コマンド例 だいたいこんなかんじ。 大文字から小文字へ置換 $ echo "WAWAWA" | tr '[:upper:]' '[:lower:]' wawawa これでもできる。 $ echo "WAWAWA" | tr '[A-Z]' '[a-z]' wawawa 小…
Dockerコンテナを一旦exportして別のサーバ上でimportして動作させて見たいと思います。 環境が変わってもDockerイメージさえあれば同じ環境がすぐにできあがるよ。 みたいなことを確認してみたいと思います。 docker commit でイメージを作成する docker ex…
概要 なぜかはわからないけれどソートができないテキストファイル2つがあって、なぜかはわからないけれどそれを共通のキーをもとに結合したいときがあって、前述の通りなぜかはわからないけれどソートができないのでjoinコマンドが使えないのでシェルスクリ…
概要 Ansibleのshellモジュールでターゲットノードでコマンドを実行しようとしたところ、「コマンドが見つかりません」というエラーが返ってきてしまいました。 のでそれの対処法です。 こんなかんじのplaybookがエラーになった。 - hosts: target tasks: - …
概要 docker diffコマンドをつかってコンテナ起動からのコンテナ内の変更を確認してみます。 コマンド例 たとえばこんなかんじでコンテナ内にいろいろファイルをつくってみるとする。 $ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAM…
概要 docker cpコマンドを利用してコンテナとホスト間でファイルをコピーしてみたいと思います。 コマンド例 たとえばこんなかんじのコンテナがあるとする。 $ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5bc287372e97 centos "…
Echo Spot (エコースポット) - スマートスピーカー with Alexa、ホワイト出版社/メーカー: Amazon発売日: 2018/07/26メディア: エレクトロニクスこの商品を含むブログを見る
概要 AWSCLIで取得した結果が配列というかJSONというかなんというかみたいな形式で非常にシェルスクリプト上でさわりにくいのでjqコマンドををつかって取得してみます。 前提 たとえばAWSCLIを実行してこんなかんじでインスタンスIDとインスタンスタイプを取…
概要 docker renameコマンドを利用して既存のDockerコンテナの名前を変更してみます。 コマンド例 たとえば以下のようなコンテナがあったとする。 $ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6a4c710d54ac centos "/bin/ba…
概要 awk '{print $1}'とかやる$1の部分を変数で指定したい。 やりかた awk -vのあとに変数=値で指定してあげる。 $ echo "AAA BBB CCC" | awk -v "wawawa=3" '{print $wawawa}' CCC シェルスクリプト内で宣言した変数を入れることも可能。 #!/bin/bash henn…
概要 docker attachコマンドを利用して現在稼働中のコンテナに接続してみたいと思います。 docker attach たとえば以下のようにping localhostを実行し続けているコマンドがあるとする。 $ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS …
コンテナ名でフィルタリングする コンテナIDでフィルタリングする 終了ステータスが0のものをフィルタリングする ラベルでフィルタリングする ステータスでフィルタリングする 実行中(running)のものをフィルタリングする 終了済み(exited)のものをフィルタ…
#概要 docker runコマンドでコンテナを起動する際に、環境変数を設定してコンテナを起動してみたいと思います。 コマンド例 2種類あります。 docker run -e docker runに-eオプションを指定して実行してあげます(-itは確認用でつけてます) $ sudo docker ru…
概要 Dockerコンテナがたまりにたまっていたのでそれらを一括削除してみます。 コマンド例 以下コマンドを実行することでコンテナをすべて削除することができます。 $ sudo docker rm $(sudo docker ps -aq) ちょっとした説明 docker ps -aqコマンドで停止し…
概要 docker runコマンドに-vオプションをつけてホストとコンテナでディレクトリを共有してどちらからも参照できるようにしてみたいと思います。 コマンド例 docker run -vホストのPATH:コンテナのPATHでホストとコンテナでディレクトリを共有することができ…
概要 docker runコマンドに--cpu-sharesと--memoryオプションを指定して、CPUとメモリのリソース利用を制限して起動してみたいと思います。 コマンド例 以下のようにすることでコンテナのリソースを制限して起動することができます。 $ sudo docker run --cp…
概要 docker runコマンドの--hostnameオプションでDockerコンテナにホスト名を設定してみたいと思います。 コマンド例 --hostname=ホスト名でコンテナにホスト名を設定することができます。 今回はそれにプラスして確認用として-itオプションでコンテナの中…
概要 docker runの--restart=alwaysオプションを利用して、コマンド終了後にコンテナを再起動させてみたいと思います。 コマンド例 以下のように--restart=alwaysオプションを利用してDockerコンテナを起動しています。 ちなみにオプションの意味はこんなか…