LoginSignup
0
1

More than 3 years have passed since last update.

【自分用メモ】Dockerでつまったことを振り返る...Linuxの知識も含む

Last updated at Posted at 2020-09-23

目的

docker pushを拒否されたので、それを回避しようとしたことを振り返ります。

結論

docker tagでイメージ名を変更したところ、docker pushできた。

docker pushしようとしてもdocker tagでイメージ名を変更しても同事象でした。
「docker ps -a」で確認すると、COMMAND欄が"python3"となっているものが複数ありました。
docker push できないのはこれが原因なのかもと思いました。
「docker ps -a」でCOMMAND欄に表示されるのはdockerコンテナのプロセス名ということがこちらを参考にさせて頂き、わかりました。
下記の記事を参考にプロセスをkillすればpython3から変えられるかもしれないと考えました。
プロセスを終了するkillコマンドの使い方まとめ!【Linux ...
【ps・kill】実行中のプロセス表示と強制終了 - Qiita
dokcerのshell接続するとpython3になっているのは「ps -a」とコマンドを打つとPID1であることがわかりました。
PID1に対して、pkill1としてもプロセスをkillできませんでした。
Docker で node.js を動かすときは PID 1 にしてはいけない ...
Docker/Kubernetes で PID 1 問題を回避する | text ...
上記の記事を参考にさせて頂き、PID 1 問題ということがわかり「docker run --rm -d --init」コマンドでpython3がPID 28とかPID 1 以外で起動させることができました。
「pkill 28(PID)」とかコマンドを打つと、python3のプロセスを終了させることができました。
ここで、「docker ps -a」のコマンドでCOMMAND欄を確認しましたが、"python3"の表記は消えませんでした。
【備忘録】docker pushしたら拒否された - Qiita
上記の記事を参考にさせて頂き、「docker commit」コマンドでansible-baseをインストールしたイメージを作成しました。
コンテナイメージをDockerHubにpushして共有する ...
上記の記事を参考にさせて頂き、「docker tag」コマンドで「ユーザ名/ansible-base」という名前のイメージを作成し「docker push」することができました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1