Docker
概要 GitHubのコンテナレジストリ(ghcr.io)にイメージをプッシュしたりプルしたりする手順です。 プッシュする手順 プッシュしたいイメージのタグ付け とりあえず今回はビルドからやってしまいます。 以下のようなDockerfileをつかってみます。 FROM alpine:…
この記事を見返してて、いちいちコマンド入力するのめんどくさいなぁとおもった。 DockerでAnsibleをうごかす - かべぎわブログ docker-composeならこんなかんじ。 version: "3.9" services: local_ansible: build: context: . dockerfile: Dockerfile volum…
dockerでボリュームマウントしたときにPermissionDeniedとなってマウントしたものにアクセスできない事象が発生した。 $ docker run -v /home/vagrant/docker_ansible/playbooks/:/work local_ansible ls ls: cannot open directory '.': Permission denied …
ローカルで適当にうごかすかーみたいなときによくやる構成。 ディレクトリ構成 . ├── Dockerfile └── playbooks └── playbook.yml Dockerfile FROM python:3.8 RUN pip install pip --upgrade RUN pip install ansible WORKDIR /work ビルドして docker buil…
Docker outside of Dockerです。 ローカルで docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock docker ash コンテナ内で echo $(hostname) > ./hostname.txt # hostname = 9efa8fda8add 以下のようなDockerfileをつくる FROM centos ADD h…
dockerグループにユーザを追加 sudo gpasswd -a $USER docker dockerサービスをrestart sudo service docker restart
概要 DockerでCentOS8のイメージをつかってAWSCLIの動作環境を作ってみたいと思います。 Dockerfile こんなかんじ。 FROM centos:8 RUN dnf install -y wget python3 RUN wget https://bootstrap.pypa.io/get-pip.py RUN python3 get-pip.py RUN pip install…
概要 VagrantでDocker入りのCentOSを作成してみたいと思います。 なんかWindows環境でDockerつかうのがめんどくさくなったのでLinux動かしてその上で動かしたくなった。 Vagrantfile こんなかんじ。 まあshellでいろいろ書いてあげているだけだけれど。 おわ…
概要 DockerfileのVOLUME命令をつかって別のいろいろなコンテナが出力するログファイル的なものを集約してみたいと思います。 手順 手順はこんなかんじ。 ログ格納用コンテナとログを出力するコンテナを作成してみます。 ログ格納用コンテナの準備 ログ用の…
概要 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コマンドで停止し…
Dockerコンテナを一旦exportして別のサーバ上でimportして動作させて見たいと思います。 環境が変わってもDockerイメージさえあれば同じ環境がすぐにできあがるよ。 みたいなことを確認してみたいと思います。 docker commit でイメージを作成する docker ex…
概要 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 "…
概要 docker renameコマンドを利用して既存のDockerコンテナの名前を変更してみます。 コマンド例 たとえば以下のようなコンテナがあったとする。 $ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6a4c710d54ac centos "/bin/ba…
概要 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オプションでコンテナの中…