前回の記事
でDockerを触り始めたらDockerfileや、docker-compose
周りをいじくり始めますのでいざやり始めた時に
この時どうするの?
のコマンド集を集めてみます。
尚、初学者なので指摘等ありましたらコメントお願いします。mm
参考にした記事
イメージのビルドでキャッシュを使用したくない場合
キャッシュなしでビルドが実行されます
docker-compose build --no-cache
コンテナを一回削除する
なんかコンテナがうまく起動しないな。と思ったら
docker-compose rm
コンテナがうまく起動しないのでエラーの箇所を確認したい
docker-compose logs
コンテナ名を指定してもいけます
docker-compose logs {コンテナ名}
コンテナが起動しない!!!
まず正常に稼働している状態の docker-compose ps
の状態です
$docker-compose ps
Name Command State Ports
-----------------------------------------------------------------------------------
hoge_rails bundle exec rails s -p 300 ... Up 0.0.0.0:3001->3001/tcp
hoge_mysql docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp
Stateが Up
であれば起動している状態です。
逆にStateが Exit {数字}
だとエラーが発生して起動していない状態です。
その場合のエラー箇所は
docker-compose logs {Name}
でエラー内容を確認できます。
それでもコンテナが起動しない場合は
docker-compose stop
docker-compose rm --force
docker-compose build
docker images | awk '/<none/{print $3}' | xargs docker rmi
docker-compose up
と実行してみてください。
これでコンテナは最新になるはず。(です)
docker images 叩いたら noneがいっぱい
imageをビルドし直すと<none>:<none>なイメージができます。
Dockerにnone:noneなイメージが生まれてくる理由
こんな状態
$docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hoge_rails latest 96817ad65925 4 minutes ago 1.01GB
<none> <none> a12f704e8d62 2 hours ago 1.01GB
<none> <none> 58054eb2f0a2 3 hours ago 1.01GB
<none> <none> e11a08ad9320 4 hours ago 1.01GB
<none> <none> 7a72b5b89cfb 6 hours ago 1GB
hoge_mysql latest ebb10baa9a30 26 hours ago 348MB
ruby 2.4.2 47fd5dc7df6e 6 days ago 684MB
ruby 2.3.4-alpine f1ca99f256aa 6 weeks ago 138MB
hoge_mysql latest a0f5d7301767 7 months ago 329MB
mysql 5.6.35 a0f5d7301767 7 months ago 329MB
そうするとDisk容量が逼迫しますので一旦クリーンしましょう
docker images | awk '/<none/{print $3}' | xargs docker rmi
最後に
随時更新していこうかと思っております。