docker-compose
昨夜の帰宅後から急に蕁麻疹が全身に出てきて
びっくりして、とりあえず眠りました。
疲れていたのかなぁ。
今日も日中は眠って
午後から皮膚科に行ってきました。
風邪で免疫力が落ちていたので
蕁麻疹が出てしまったよう。
内服薬を貰ったよ。
夕方はスタバで少しだけ作業です。
docker-compose.ymlについて。
今まで結構誤解していた部分が多かったなぁ
って反省です。
流れとしては
docker-compose.ymlで
アプリケーションが使うミドルウェアの接続・起動をできるようにして
その状態で
Dockerfileを書き進めつつdocker buildでDocker imageをつくって
docker-compose upしてDocker imageを元にコンテナをつくるの。
$ docker-compose ps
これでコマンドやState、Portsなどの確認ができるので
errorが起きている場合は
$ docker-compose logs < Name >
などでlogを見て原因究明をしたり
$ docker-compose run –entrypoint /bin/sh < application >
などでDocker内に入って実際にコマンドを打ってerrorログを読んだりすれば
地道なerror潰し作業で
Dockerfileを作りあげることが
理論上は出来る。
実際にはerrorログ読んでも
訳分からんくて詰むの多々あるかんじなので
わかりそうなひとにログとともに見せて教えを請う作業です。
趣味鯖でDocker上にアプリケーションを構築する際
動きそうなdocker-compose.ymlをgit cloneしてきて
こんな感じでerrorログを見ながら
ひたすら「わからん」と唱えていた記憶があったの。
わからんまま構築できてしまったのだけれども。
一度復習しようと思ってふむふむしていた。
Dockerfile内のRUNとCMDの違いだとか
docker-compose.ymlを書いたら
ローカルで接続・起動の確認をするのか
Docker上でそれらの確認をするのか
そもそもDocker imageとは
って、かなり初歩的なレベルで理解が浅かったなぁって気づけたの。
適当にソースコードgit cloneして構築できてしまうの便利だけれども
オリジナルの独自設定アプリケーションを動かせるような環境構築
きちんと理解して進めないと難しいのだなと感じた。
本日のTODOリストです。
ポートを変えるのは気休めだけれども、やってみたいなあと思います。
ユーザー名を変えるのはできた!
Linuxのユーザー名を変更する - そんなこと猫でもできる
そんなこと猫でもできるらしい。
うさぎでもできるかな。
$ sudo docker-compose run –rm web bundle exec bin/tootctl media remove –days=25
このコマンドをcronで実行しようとおもって調べた。
# docker-composeコマンドについて
- docker-compose.ymlがある場所で実行される
- ファイルパス-fでdocker-compose.ymlがある場所を指定して実行させることも可能 (下記参照)
$ 0 0 * * * docker-compose -f /******/*******/mastodon/docker-compose.yml run –rm web …..
- rootのcrontabに設定する場合はsudoは不要
- crontabは各ユーザーそれぞれにcrontabがある
- rootになった状態で crontab -u(ユーザー名)のようにすれば、それぞれのcrontabを見ることができる
- ユーザー名-uを指定しない場合は、今のユーザーのcrontabが表示される
cron 3ステップ
1.cronでやる前に手動で動くか確認。
2.動いたらcronで毎分確認。
3.動いたら定時で確認。
最近、難しそうだなあってことでも
「調べてやってみればできるのでは?」
ってきもちになってきた。
そして、案外やってみればできるということに気づいた。
とにかくどんどん行動してみている。
たのしいー
ちなみにs3のビフォーアフターです!
画像削除、成功です。やったねえ