Armadilloフォーラム

docker hub login

y.ono

2023年11月22日 13時02分

1. したいこと:swupdateでdocker.ioのPrivate Repositoryからpullしたい.

2. エラー:requested access to the resource is denied

質問:pull_container.descでpullする前にdocker hubにloginする方法を教えてください.
試しに,pullする前に以下を入れてみましたがエラーとなってしました.
swdesc_command \
"podman login -u -p -v docker.io"

[ERROR] : SWUPDATE failed [0] ERROR : Command failed: podman run --net=host --rm -v ${TMPDIR:-/var/tmp}:${TMPDIR:-/var/tmp} --read-only -v /target/tmp:/tmp -v /target/var/app/volumes:/var/app/volumes -v /target/var/app/rollback/volumes:/var/app/rollback/volumes --rootfs /target sh -c 'podman login -u -p -v docker.io' -- /var/tmp/podman_login__u_ztio..mvPlGo___v_docker_io_08fa0ce9b291981784df2032a4d6fbe469a4f898

3. 試したこと:一時的にpublicして試したらswupdateが成功->reboot->自動的に起動まで出来ました.

4. 現状のpull_container.descの内容

#
#
#
swdesc_option FORCE_VERSION CONTAINER_CLEAR
swdesc_command true \
--version test 9999

swdesc_pull_container "private repository:tag" \
--version test 9999
swdesc_files --extra-os test_start

コメント

at_dominique.m…

2023年11月22日 16時44分

y.onoさん

お世話になっています、
マルティネです。

> 質問:pull_container.descでpullする前にdocker hubにloginする方法を教えてください.

質問ありがとうございます。
アップデートの際に素の podman コマンドを使えないので、少し工夫をする必要があります。
(要望がいままで少なかったため便利な方法を用意してませんが、これから改造しようと思います)

現状では、工夫して desc ファイルで podman login の際に生成される auth.json を転送すればできます。

armadillo か ATDE で podman login を行って、(armadilo の場合は /run/containers/0/auth.json, ATDE は /run/user/1000/containers/auth.json) を desc ファイルにあるディレクトリにコピーしてください。

それで、ファイルを転送すれあ podman が使います。
以下の desc ファイルで private repository を使えました。

swdesc_option version=1
swdesc_exec_nochroot auth.json 'mkdir -p /run/containers/0' 'cp $1 /run/containers/0/auth.json'
swdesc_pull_container docker.io/xxx...

よろしくお願いします。

y.ono

2023年11月27日 7時20分

マルティネ様,

>

> swdesc_option version=1
> swdesc_exec_nochroot auth.json 'mkdir -p /run/containers/0' 'cp $1 /run/containers/0/auth.json'
> swdesc_pull_container docker.io/xxx...
> 

を参考にして修正したらlogin出来ました.;

ありがとうございました.