😀

Docker(compose)初学者が困ったときに役立つコマンド集

2022/11/28に公開

前回の記事

で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

最後に

随時更新していこうかと思っております。

Discussion