かべぎわブログ

技術的なことについてかけたらいいな…

docker run --restart=always でコンテナを再起動させる

概要 docker runの--restart=alwaysオプションを利用して、コマンド終了後にコンテナを再起動させてみたいと思います。 コマンド例 以下のように--restart=alwaysオプションを利用してDockerコンテナを起動しています。 ちなみにオプションの意味はこんなか…

docker run -d でコンテナをバックグランドで実行させる

概要 docker run -dでDockerコンテナをバックグランドで実行してみたいと思います。 コマンド例 -dオプションをつけてdocker runをしています。 実行するコマンドは裏で動き続けるようにyesコマンドを実行させています。 $ sudo docker run -d centos yes 65…

docker run -itでDockerコンテナの中にはいる

概要 docker runコマンドの引数に/bin/bashを渡してbashプロンプトを起動して、コンテナの中に入ってみたいと思います。 コマンド例 以下のような感じでコンテナを起動します。 オプションとして-itを使用しています。 -iはコンテナの標準入力を開くオプショ…

docker pushでdenied: requested access to the resource is deniedとなったときの解決法

概要 docker pushしようとおもったら以下のようなエラーがでてきました。 $ sudo docker push test The push refers to repository [docker.io/library/test] bcc97fbfc9e1: Preparing denied: requested access to the resource is denied なんやこれはと思…

docker loginとpushでDocker Hubにイメージをアップロードする

概要 Docker Hubにログインしてイメージをアップロードするのを、コマンドだけでやってみたいと思います。 手順 docker loginとdocker pushコマンドを利用します。 Docker Hubへログインする docker loginコマンドを利用してDocker Hubへログインします。 コ…

Dockerイメージが削除できないときはまずコンテナが削除されているかどうか確認する

概要 docker rmiコマンドでDockerイメージを削除しようと思ったところ以下のようなメッセージが出てきました。 $ sudo docker rmi centos Error response from daemon: conflict: unable to remove repository reference "centos" (must force) - container …

docker rmi で複数イメージを削除する

概要 docker rmiコマンドを利用して複数のDockerイメージを削除してみたいと思います。 イメージ名をスペース区切りで削除する 削除したいDockerイメージ名をスペース区切りで指定してあげます。 今回はdebianとubuntuのイメージを削除してみたいと思います…

docker rmi でDockerイメージを削除する

概要 docker rmiコマンドでDockerイメージを削除してみたいと思います。 削除してみる docker rmi [オプション] イメージ名でDockerイメージを削除することができます。 たとえばイメージが以下のような感じだとする $ sudo docker images REPOSITORY TAG IM…

docker searchでDocker Hubのイメージを検索する

概要 docker searchコマンドを利用してDocker Hub上に公開されているDockerイメージを検索してみます。 コマンド例 以下のようなかんじでイメージを検索することができます。 centosのイメージを検索しています。 $ sudo docker search centos NAME DESCRIPT…

docker tagでDockerイメージにタグを付ける

概要 docker tagコマンドを利用してDockerタグに任意の名前をつけてみたいと思います。 コマンド例 たとえばローカルのDockerイメージがこんなかんじだとする。 $ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 49f7960eb7e4 4 we…

raspistillにいろいろなオプションをつけて写真を撮影してみる

普通に撮る 左右反転で撮る 上下反転で撮る 上下左右反転で撮る サイズを指定して撮る jpgのクオリティを指定して撮る 撮影時に詳細情報を出力する 撮影までの時間を指定する タイムラプス(連射)で撮影する エンコードを指定して出力する おわりに 普通に撮…

シェルスクリプトで複数インスタンスに一気にタグをつける

概要 シェルスクリプトとAWSCLIを利用して複数のインスタンスに一気にタグを付けてみたいと思います。 スクリプト こんなかんじでやってます。 肝心のAWSCLI実行部がJSONのなかに変数をしこむために地獄の様相を呈していますけれど仕方がなかった。 実行して…

docker inspectでDockerイメージの詳細を取得する

概要 docker inspectコマンドを利用してDockerイメージの詳細情報を取得してみたいと思います。 実行してみる ローカルのDockerイメージ情報がこんな感じだとする。 $ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE debian latest 9a5d7185d3a6 …

Ansibleのcopyモジュールでワイルドカードを利用して複数ファイルをコピーする

概要 Ansibleのcopyモジュールでワイルドカードを利用して複数のファイルを一気にコピーする方法のご紹介です。 playbook例 with_fileglobでファイルを指定してあげることでワイルドカードを利用して複数ファイルを一気にコピーすることができます。 実行し…

Ansibleのimport_playbook で別のplaybookをそのまま読み込む

概要 Ansibleのimport_playbookを利用してほかのplaybookをまるまるそのまま読み込んで実行してみたいと思います。 playbook例 たとえば以下のようなplaybookがあったとします。 実行してみる yomikomi.ymlを実行してみます。 $ ansible-playbook yomikomi.y…

Docker Hubからイメージをpullでダウンロードする

概要 DockerHubというDocker公式が提供しているリポジトリサービスのWebサイトからDockerイメージをローカルにpullでダウンロードしてきたいと思います。 DockerHubにアクセスする Docker Hubは以下からアクセスできます。 https://hub.docker.com/ 今回はde…

AmazonLinux2にDockerをインストールしてhelloworldしてみる

概要 Dockerの勉強をかねてAmazonLinux2にDockerをインストールしてhelloworld的なことをしてみたいと思います。 Dockerのインストール ふつうにyum installするだけです。 $ sudo yum install docker インストールできました! $ docker --version Docker v…

git add もろもろのオプションの比較

Git

git addでなんかいろいろなオプションと言うか指定方法があってそれらがなんか微妙に動きがちがうのでまとめてみる。 git add -A git add . git add --ignore-removal git add -u まとめ git add -A 新規作成/変更/削除されたファイルのすべてをaddしてくれ…

いらないものを削除したあとは git add -Aを利用する

Git

概要 gitのローカルリポジトリでいらないファイル類を削除したあとにgit add *してcommitしてpushしようとしたら以下のようなエラーがでました。 warning: You ran 'git add' with neither '-A (--all)' or '--ignore-removal', whose behaviour will change…

mktempをつかってシェルスクリプトでユニークなtempファイルをつくる

概要 シェルスクリプトでtempファイルを作成するときに以下のようにすることが多いかと思います。 echo 'wawawa' > ./hoge.txt ただこれだとカレントディレクトリにすでにhoge.txtが存在した場合に上書きしてしまって、人の大事なtempファイルを消してしまっ…

AWSCLIの出力にjoinで文字列をくっつけて出力する

概要 AWSCLIの出力結果にjoin()をつかって任意の文字列をくっつけて出力してみたいと思います。 実際にやってみる インスタンスIDを出力してみると通常はこんな感じですが $ aws ec2 describe-instances --query 'Reservations[].Instances[].InstanceId' --…

AWSCLIの結果をソートする

AWS

概要 AWSCLIの出力結果をソートする2パターンをご紹介します。 sort_byでソートする 以下の例ではインスタンスの一覧からインスタンスIDとプライベートIPを表示して、それをインスタンスIDでソートしています。 --queryので指定する項目をsort_by()で囲って…

インフラ構成管理ツールの各レイヤーについて

インフラ構成管理ツールにおける代表的な役割というか各レイヤーというか、機能をとか役割とかによって以下のように呼び方がちょっと違うらしい。 調子に乗ってオーケストレーションがーー云々などとのたまっていたので戒めの意味を込めてまとめる。 Bootstr…

opensslコマンドでcsrファイルを対話形式ではなく一撃で作成する

概要 opensslコマンドでcsrファイルを作成するときに、通常だと以下のように対話形式でひとつずつ項目を埋めていく必要があります。 Country Name (2 letter code) [GB]: State or Province Name (full name) [Berkshire]: Locality Name (eg, city) [Newbur…

Pythonで約数を取得する

概要 Pythonを利用して自然数の約数を取得してみます。 コード 実行してみる 引数でわたした数字の約数を配列にいれてprintしてくれます。 $ ./yakusuu.py 30 [1, 2, 3, 5, 6, 10, 15] おわりに 数学において、整数 N の約数(やくすう、英: divisor)とは、…

Ansible AWX を Amazon Linux2 にインストールする

Ansible AWX を Amazon Linux2 にインストールしてみたいと思います。 (Docker版でインストールしています) インストール手順 各種パッケージ類のインストール gitのインストール dockerのインストール Ansibleのインストール pip のインストール docker-py…

Pythonのsum関数で配列や集合やタプルの合計を取得する

概要 Pythonのsum関数を利用して配列や集合やタプルの合計を取得してみます。 配列 コード wawawa_array = [1,2,3,4,5] result = sum(wawawa_array) print(result) 実行結果 15 集合 コード wawawa_set = {1,2,3,4,5} result = sum(wawawa_set) print(result…

Pythonで複数パターンを置換する

概要 Pythonを利用して複数パターンを一気に置換してみたいと思います。 コード 「せかいへいわいわい」という謎のワードを置換しています。 ループをつかってwawawa_dictという辞書形式のものにあるワードを置換しています。 実行結果 $ python fukusuu_rep…

改めてLinuxの主要ディレクトリについてまとめてみる

いろいろとわすれがちというかなんというかなのでLinuxのディレクトリ構成についてまとめてみた。 ディストリビューションによってちがうとはおもうんだけれどだいたい以下のような感じなんじゃないか。 Linuxの主要ディレクトリ /bin /sbin /boot /dev /etc…

rsyncでは最後のスラッシュのありなしに注意すること

概要 rsyncコマンドでちょっとはまったというか忘れがちというかやってしまいがちなのでメモ。 ポイント!!!! rsyncコマンドでは、コピー元のPATHの最後の/をつけるか否かでその挙動が変わります!!! たとえば以下のとおり。 コピー元の最後に/を付ける…