初心者のメモです。Ubuntuメイン。
コマンド参照
https://qiita.com/shiro01/items/04ca672a93384b463701
チートシート
https://pyteyon.hatenablog.com/entry/2021/07/07/021704
ヘルプ--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 件のコメント:
コメントを投稿