2022年2月16日水曜日

docker Tips、エラーのメモ

初心者のメモです。Ubuntuメイン。


コマンド参照


初心者ハンズオン

https://qiita.com/shiro01/items/04ca672a93384b463701

チートシート

https://pyteyon.hatenablog.com/entry/2021/07/07/021704

公式チートシートPDF。あまり載っていない。
https://www.docker.com/sites/default/files/d8/2019-09/docker-cheat-sheet.pdf

ヘルプ--helpが詳しい

docker --help とすると、docker と打った次で使えるコマンド、オプションが出る。

docker run --help とすると docker run と打った次で使えるコマンド、オプションが出る。

例えば docker run --help だと

-d, --detach                         Run container in background and print container ID

-i, --interactive                    Keep STDIN open even if not attached

 -t, --tty                            Allocate a pseudo-TTY

とかが書いてあるので便利。


エイリアスにする

groupに入れてもsudoが回避できないので、

alias docker='sudo docker'

としています。

docker container って打ちまくっていると指がつるので

alias dc='sudo docker container'

alias di='sudo docker image'

としています。

名前がコンフリクトのエラー

docker: Error response from daemon: Conflict. The container name "/aaaaaaaaaa" is already in use by container "xxxxxxxxxx". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.

停止しているものも含めて、名前が既に使われている。 

docker container ls -a  

というように-aをつけて確認する。

docker container start NAME/ID

で再起動できる。


portを既に使っているエラー

Error starting userland proxy: listen tcp 0.0.0.0:3306: bind: address already in use.

これはUbuntuでmysqlが別に動いていたということでした。


確認する

sudo netstat -tulpn | grep 3306

tcp        0      0 127.0.0.1:33060         0.0.0.0:*               LISTEN      1824/mysqld

tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1824/mysqld

停める

/etc/init.d/mysql stop 


DockerfileからのBuildでエラー

https://docs.docker.jp/get-started/part3.htmlunknown instruction: YUM

VSCODEの自動フォーマットを使っていたら、Dockerfile内の \ $$ の\が消されていたのが問題。このunknownというエラーは改行が失敗しているという事例が出ていました。

→Ctrl +P →save without formatting で保存する。


REPOSITORY、TAGがnone

イマイチよくわからないけど例えばこんな感じで。alpineをベースにビルドしようと思ってこんなのができている・・・。あとから気が付きましたが、中のyumインストールがエラーで終了していたようでした。それでも何かしらのイメージができているようです。


REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE

<none>                    <none>              aaaaaaaaaa        21 seconds ago      5.61MB

alpine                    3.14                bbbbbbbbbbb        3 months ago        5.61MB 


DockerHubへのPushでエラー

チュートリアルをやっていてエラー。https://docs.docker.jp/get-started/part3.html

denied: requested access to the resource is denied

cli からDockerHubにログインできていなかったのが問題だった

一度Privateにしてから戻す?という回答もあるがこちらは不明

https://stackoverflow.com/questions/41984399/denied-requested-access-to-the-resource-is-denied-docker


docker composeのバージョンが合っていないので上げる

ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.

For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/


docker-compose 1.25 でymlのバージョン3.8のものを動かそうとしたときにこのエラー。

一回削除して新しく入れ直しました。1.29.2にしたらOKでした。

https://phoenixnap.com/kb/install-docker-compose-on-ubuntu-20-04

0 件のコメント:

コメントを投稿